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

C# 两个组合框为同一个函数触发一个事件,c#,combobox,selectedindexchanged,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 };

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

注:它们使用相同的bindsource。

如果它们共享一个
BindingSource
,则更改一个控件中的值也会更改另一个控件中的值

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


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

是否确实将cmBox添加到表单中?您只发布了部分代码。如果您有相同的绑定源(您没有记录),那么它们将使用相同的货币管理器。我已创建了新的绑定源,问题已解决。谢谢。