События ComboBox: SelectedIndexChanged или SelectedValueChanged

В контексте привязанного к данным ComboBox, свойства которого ValueMember и DisplayMember установлены соответствующим образом:

Есть ли разница между событиями SelectedIndexChanged и SelecetedValueChanged? Они запускаются одновременно, когда элемент выбирается из раскрывающегося списка ComboBox?

Ответы

Ответ 1

Хорошо, только потому, что ваши изменения индекса не обязательно означают, что ваше значение должно измениться.

Это также может быть не самый реалистичный сценарий, потому что дизайн-это будет плохой реализацией.

Скажем, вы показываете ComboBox, где вы показываете части тела. Однако вы можете экспортировать или сохранить эту информацию в формате, сопоставленном с целыми значениями. Поэтому ваш ComboBox может отображать "Левый рукав" и "Правый рукав", которые отображаются в значение 5, которое определяет (5 = Верхнее тело) в его отображении. Затем, если пользователь переключил "Правый рычаг" на "Левый рычаг", изменение значения не происходит; однако SelectedIndex изменился.

Итак, я предполагаю, что это случайный базис, но эти события, безусловно, могли бы работать по-разному в зависимости от случая.

Ответ 2

Разница в том, что SelectedItemChange будет -1, если вы отредактируете combobox ea, а не часть индексированных значений. Однако, как только вы начнете вводить в поле со списком, он будет запускать событие изменения ценности.

ea вы можете использовать изменение стоимости для событий пожара, которые будут форматировать ввод текста в элементе управления downupdown. И если кто-то редактирует элемент управления domainupdown, и его значение становится -1, вы могли бы собирать новые элементы в свой список (нажав кнопку и используя свойство domainupdown.text.