Pull to refresh

Обработка выбора пользователя в ComboBox

Reading time1 min
Views5K
Если возникла задача реагировать на выбор пользователя из выпадающего списка ComboBox’а, то очевидным решением является подписка на событие SelectedIndexChanged:

ComboBox myComboBox = new ComboBox();
myComboBox.SelectedIndexChanged += new System.EventHandler(this.MyComboBox_SelectedIndexChanged);


Но дело в том, что событие SelectedIndexChanged происходит, даже если пользователь ничего не выбирал в ComboBox, а индекс был изменён вашим же кодом (например, вы добавили несколько элементов и выделили последний). Выходом же будет подписка на событие SelectionChangeCommitted:
myComboBox.SelectionChangeCommitted += new System.EventHandler(this.cbLookIn_SelectionChangeCommitted);

После этого можно свободно манипулировать содержимым коллекции myComboBox.Items или свойством SelectedIndex, не опасаясь за то, что выполнится код, который должен выполнятся при выборе нового элемента пользователем.
Tags:
Hubs:
Total votes 25: ↑9 and ↓16-7
Comments5

Articles