События ComboBox: SelectedIndexChanged против SelectedValueChanged - PullRequest
15 голосов
/ 27 января 2011

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

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

Ответы [ 2 ]

26 голосов
/ 27 января 2011

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

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

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

0 голосов
/ 14 июня 2017

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...