我的表单有几个数字向上控件。所有这些控件在更改时都调用相同的方法:
private void SetColors(object sender, EventArgs e)
如何确定哪种控件称为方法?
答案 0 :(得分:10)
这就是sender
参数的用途。
如果您知道时间,可以适当地进行投射:
NumericUpDownControl control = (NumericUpDownControl) sender;
如果它可以是多种类型中的任何一种,您可以使用as
和空测试,或is
后跟投射。
当然,您只需要转换为包含所需成员的类型 - 例如,您可能只会转换为Control
。
private void SetColors(object sender, EventArgs e)
{
Control control = (Control) sender;
String name = control.Name;
// Use the name here
}
答案 1 :(得分:2)
对事件发生的控制存储在变量sender
中。你只需要把它重新归还原来的类型。