ARCed.Scintilla.Design.FlagCheckedListBox.UpdateCheckedItems C# (CSharp) Метод

UpdateCheckedItems() защищенный метод

protected UpdateCheckedItems ( FlagCheckedListBoxItem composite, CheckState cs ) : void
composite FlagCheckedListBoxItem
cs CheckState
Результат void
        protected void UpdateCheckedItems(FlagCheckedListBoxItem composite, CheckState cs)
        {
            // If the value of the item is 0, call directly.
            if (composite.value == 0)
                this.UpdateCheckedItems(0);

            // Get the total value of all checked items
            int sum = 0;
            for (int i = 0; i < Items.Count; i++)
            {
                var item = Items[i] as FlagCheckedListBoxItem;

                // If item is checked, add its value to the sum.
                if (GetItemChecked(i))
                    sum |= item.value;
            }

            // If the item has been unchecked, remove its bits from the sum
            if (cs == CheckState.Unchecked)
                sum = sum & (~composite.value);
            // If the item has been checked, combine its bits with the sum
            else
                sum |= composite.value;

            // Update all items in the checklistbox based on the final bit value
            this.UpdateCheckedItems(sum);
        }

Same methods

FlagCheckedListBox::UpdateCheckedItems ( int value ) : void