两个组合框发射相同功能的事件

时间:2014-03-24 15:59:31

标签: c# combobox selectedindexchanged

有两个组合框。一个是通过拖放和设置事件SelectedIndexChanged创建的。第二个组合框是手动创建的,但没有任何事件。但是当我改变第二个组合时,它会为第一个组合的功能发起一个事件。

Form prompt = new Form();
prompt.Width = 300;
prompt.Height = 150;

    ComboBox cmBox = new ComboBox() { Left = 70, Top = 24, Width = 100, Height=150 };
    cmBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
    cmBox.ValueMember = "value";
    cmBox.DisplayMember = "text";

prompt.ShowDialog();

我试过了,但没有工作:

cmBox.SelectedIndexChanged -= new System.EventHandler(comboBox1_SelectedIndexChanged);

P.S:他们使用相同的bindsource。

1 个答案:

答案 0 :(得分:2)

如果他们共享BindingSource,那么更改一个控件中的值也会更改另一个控件中的值。

当您更改第二个ComboBox中的值时,第一个ComboBox中的值也会发生变化,从而触发其SelectedIndexChanged事件。

为每个控件创建单独的BindingSource,或者如果它是一个集合,请尝试将该集合直接分配给每个ComboBox