两个组合框为同一个函数触发一个事件

本文关键字:一个 事件 函数 两个 组合 同一个 | 更新日期: 2023-09-27 17:52:38

有两个组合框。一个是通过拖放和设置事件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

两个组合框为同一个函数触发一个事件

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

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

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