Groupbox检查更改事件

pha*_*unk 2 c# events groupbox

我有一个DataGridViewGroupBox含有一些控制ComboBoxes.
根据选择ComboBoxes的内容,网格中的元素会发生变化.

有没有办法说

If (Something Changes Within The GroupBox)
{
   //Update the grid
}
Run Code Online (Sandbox Code Playgroud)

(没有OnSelectedIndexChange为每个盒子写一个事件)
我不想要更新部分的代码,我只需要一个事件或者我可以用来检查控件的值是否在内部发生了变化GroupBox.
任何的想法 ?


更新

好吧,我想我没有以正确的方式解释它.
忘掉了ComboBox.
假设我有一堆控件,有GroupBox没有办法说:

只要其中一个控件的值发生更改,就会创建一个事件.

Dav*_*New 9

您可以将每个组合框SelectedIndexChanged事件连接到一个方法:

comboBox1.SelectedIndexChanged += new System.EventHandler(GroupBoxComboBoxChange);
comboBox2.SelectedIndexChanged += new System.EventHandler(GroupBoxComboBoxChange);
comboBox3.SelectedIndexChanged += new System.EventHandler(GroupBoxComboBoxChange);
comboBox4.SelectedIndexChanged += new System.EventHandler(GroupBoxComboBoxChange);
Run Code Online (Sandbox Code Playgroud)

或者使用LINQ为任何组合框选择更改设置事件处理程序:

GroupBox.Controls.OfType<ComboBox>.ForEach(cb => cb.SelectedIndexChanged += new System.EventHandler(GroupBoxComboBoxChange));
Run Code Online (Sandbox Code Playgroud)

回答您的更新: 您正在寻找ControlValueChanged()事件.我认为这里的问题是所有控件都不同.为ComboBox定义"ValueChanged"事件的内容对于TextBox来说不一定相同.这将是一个语义挑战,并不是很清楚.希望这是有道理的.