【发布时间】:2014-09-05 16:19:27
【问题描述】:
我有组合框,每个组合框都有其 SelectedIndexChanged 事件。 我不想编写每个 ComboBox 的事件,但我想编写一个事件方法来检查哪个 ComboBox 调用事件并让控件为每个 Combobox 执行特定方法。 我已经搜索并这样写了:
private void eventmethod(object sender, EventArgs s)
{
ComboBox cb = sender as ComboBox;
if (cb != null & cb.Name.Equals("combobox1"))
{
method1();
}
else if (cb != null & cb.Name.Equals("combobox2"))
{
method2();
}
}
有没有更有效的检查方法?
【问题讨论】:
-
可能是
if (sender == combobox1)? -
如果
cb为null,您可以立即return -
如果组合框之间发生的情况有很大不同,那么您真的应该有单独的事件处理程序。
-
如果两个控件需要做完全不同的事情,为什么要为这两个控件分配一个处理程序?
-
@Servy 我认为我很容易在一个事件处理程序中查看每个组合框。