Comobox事件SelectedValueChanged

Ior*_*nev 14 c# combobox winforms

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

 comboBox1.BeginUpdate( );
 comboBox1.ValueMember = "id";
 comboBox1.DisplayMember = "name";
 comboBox1.DataSource = dt;
 comboBox1.EndUpdate( );
Run Code Online (Sandbox Code Playgroud)

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

 comboBox1.SelectedIndexChanged -= new System.EventHandler( this.comboBox1_SelectedValueChanged );
Run Code Online (Sandbox Code Playgroud)

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

jim*_*415 18

尝试使用SelectionChangeCommitted事件.

从MSDN文档:

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