[英]Get name of control calling method
我的表单有几个数字向上控件。 所有这些控件在更改时调用相同的方法:
private void SetColors(object sender, EventArgs e)
如何确定哪种控件称为方法?
这就是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
}
发生事件的控制存储在变量sender
。 您只需将其转换回原始类型即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.