Comobox事件SelectedValueChanged

我有一个简单的问题可能是有人在我之前问过但我找不到它。让我说我有数据表,从数据库中有一些数据,我想将它绑定到一个combobox我使用像这样的标准代码

comboBox1.BeginUpdate( ); comboBox1.ValueMember = "id"; comboBox1.DisplayMember = "name"; comboBox1.DataSource = dt; comboBox1.EndUpdate( ); 

问题是在这个绑定期间,事件SelectedValueChanged被触发。问题是当外部值改变时重新绑定组合几次,每次我必须做这样的事情

  comboBox1.SelectedIndexChanged -= new System.EventHandler( this.comboBox1_SelectedValueChanged ); 

我的问题是有一个更聪明的方法来跳过事件,当我来自数据绑定而不是来自用户输入。问题是我想要做一些如何在我的控制中inheritancecombobox并且不是每次都在最好的问候中,
Iordand

尝试使用SelectionChangeCommitted事件。

从MSDN文档:

仅当用户更改combobox选择时才会引发SelectionChangeCommitted不要使用 SelectedIndexChangedSelectedValueChanged 来捕获用户更改 ,因为当选择以编程方式更改时也会引发这些事件。

我总是这样做,因为太空cookies说。 我创建一个名为_isLoading的全局布尔变量,并在加载我的combobox时将其设置为true,然后在完成时返回false。 然后在事件处理程序中第一行是

 if(_isLoading) return;