c# - 获取控件调用方法的名称

标签 c# forms

我的表单有几个数字上下控件。所有这些控件在更改时调用相同的方法:

    private void SetColors(object sender, EventArgs e)

如何确定哪个控件调用了该方法?

最佳答案

这就是 sender 参数的用途。

如果知道时间,可以适当转换:

NumericUpDownControl control = (NumericUpDownControl) sender;

如果它可以是多种类型中的任何一种,您可以使用 as 和 null 测试,或者 is 后跟强制转换。

当然,您只需要转换为包含您需要的成员的类型 - 例如,您可能只转换为 Control

编辑:假设您只想要名称,并且您知道发件人将始终是某种控件。您可以使用:

private void SetColors(object sender, EventArgs e)
{
    Control control = (Control) sender;
    String name = control.Name;
    // Use the name here
}

关于c# - 获取控件调用方法的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2681949/

相关文章:

c# - 在 docker 机器上调试时 MySql 连接被拒绝

c# - 不使用验证器验证日期?

c# - 保存每秒更改一次的数组中的数据

c# - 格式化 TimeSpan 字符串

c# - 查找 RoutedEvent 的目的地

php - MySQL 未插入列

使用 PHP 进行 Javascript 客户端验证

javascript - Symfony2 收集字段,用于发送电子邮件的简单列表

php - 无法验证 Bootstrap 上的下拉菜单

JQuery .load - 当调用按钮位于表单标签中时不起作用