У меня есть форма с a ComboBox
это обеспечивает dropdownlist. На поле комбинированного списка SelectedIndexChanged event
, выполняю некоторый код, но я не хочу, чтобы тот код работал, когда форма загружается. К сожалению, когда я загружаю форму (прежде чем я сделаю выбор в поле комбинированного списка), SelectedIndexChanged
из огней поля комбинированного списка (я думаю, когда поле комбинированного списка databinding
). Существует ли способ избежать такого поведения?
Если вы хотите реагировать только тогда, когда пользователь изменяет выбранный элемент в поле со списком, то лучше подписаться на SelectionChangeCommitted .
Вы можете просто отвязать событие 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);
Почему бы не иметь логический
флаг, который указывает, когда ваша Форма
завершила загрузку?
В вашем событии SelectionChanged
проверьте, установлен ли флаг логический
на истину
. Если это истина
, обработайте событие, в противном случае игнорируйте его.