Мешайте selectedIndexChanged событию поля комбинированного списка стрелять, когда форма загрузится

У меня есть форма с a ComboBox это обеспечивает dropdownlist. На поле комбинированного списка SelectedIndexChanged event, выполняю некоторый код, но я не хочу, чтобы тот код работал, когда форма загружается. К сожалению, когда я загружаю форму (прежде чем я сделаю выбор в поле комбинированного списка), SelectedIndexChanged из огней поля комбинированного списка (я думаю, когда поле комбинированного списка databinding). Существует ли способ избежать такого поведения?

72
задан Andy G 20 August 2014 в 13:03
поделиться

3 ответа

Если вы хотите реагировать только тогда, когда пользователь изменяет выбранный элемент в поле со списком, то лучше подписаться на SelectionChangeCommitted .

138
ответ дан 24 November 2019 в 12:36
поделиться

Вы можете просто отвязать событие SelectedIndexChanged, вызвать вашу функцию fill и снова привязать событие SelectedIndexChanged. К сожалению, это не работает с сеткой.

For example:

this.cmb.SelectionChanged -= new System.EventHandler(this.cmb_SelectionChanged);
cmb.fill(); //Your function
this.cmb.SelectionChanged += new System.EventHandler(this.cmb_SelectionChanged);
11
ответ дан 24 November 2019 в 12:36
поделиться

Почему бы не иметь логический флаг, который указывает, когда ваша Форма завершила загрузку?

В вашем событии SelectionChanged проверьте, установлен ли флаг логический на истину . Если это истина , обработайте событие, в противном случае игнорируйте его.

5
ответ дан 24 November 2019 в 12:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: