Избегайте вызова индексированного события при заполнении данных - PullRequest
0 голосов
/ 27 декабря 2011

Я заполняю комбинированный список свойством источника данных в приложении c # winform. С другой стороны, я запускаю действие с SelectedIndexChanged того же комбо. Проблема в том, что всякий раз, когда комбо заполняется источником данных, вызывается SelectedIndexChanged, и я просто хочу, чтобы это событие вызывалось, когда пользователь фактически делает выбор. Есть ли способ избежать вызова этого события при заполнении комбо?

Это мой код

//Filling the combo with some data
combo_cliente.DataSource = clientes;
combo_cliente.DisplayMember = "NomComp";
combo_cliente.ValueMember = "IDPersona";

private void combo_cliente_SelectedIndexChanged(object sender, EventArgs e)
{
    // Here is the action to be triggered when user perfoms a selection
}

Спасибо

Ответы [ 4 ]

1 голос
/ 28 декабря 2011

Возможно отписаться, а затем снова подписаться:

combo_cliente.SelectedIndexChanged -= combo_cliente_SelectedIndexChanged;
combo_cliente.DataSource = clientes;
combo_cliente.SelectedIndexChanged += combo_cliente_SelectedIndexChanged;
1 голос
/ 27 декабря 2011

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

0 голосов
/ 27 декабря 2011

вам нужно добавить пустую запись в качестве первого вашего выпадающего списка.Затем в своем коде вы можете написать это:

private void combo_cliente_SelectedIndexChanged(object sender, EventArgs e) { if!(comboBox1.SelectedValue.ToString()== string.Empty) { //Here is the action to be triggered when user perfoms a selection } }

0 голосов
/ 27 декабря 2011

Прикрепите обработчик событий к своему коду, а не делайте это на странице aspx и делайте это после того, как вы закончили загружать свой элемент управления.

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