2014-12-13 154 views
-2

我在窗体上有几个按钮,并且点击其中的任意一个指向一个 EventHandler方法。在C#中,如何从对象中获取控件的名称?

当我在该EventHandler方法中,我有发件人对象是引发事件的控件。

如何从发件人对象获取控件的名称(例如“Button1”)?

谢谢

回答

0

将其强制转换为Control,然后您将能够读取Name属性。

+0

谢谢大家.. :) – Omer 2014-12-13 16:07:24

1

发件人对象是对象的类型,如果你想用你需要输入你的欲望的对象强制它,添加此事件处理程序中发送对象的任何属性,

String name = null; 
if(sender is Button) 
    name = (sender as Button).Name; 
+0

它应该是“as Button”,大写字母B,因为它是你指的一个类 – Gabe 2014-12-13 15:56:03

+0

@Gabe typo,因为我从手机输入 – Sajeetharan 2014-12-13 15:56:54

0

所以我们说你有:

private void button1_Click(object sender, EventArgs e) 
{ 

} 

在将这个那里,你可以得到它:

MessageBox.Show(((Button)sender).Name); 

你做什么ING是铸造发送对象到一个按钮并获得Name属性

此外,新的C#语言,你可以使用安全导航操作:

MessageBox.Show((sender as Button)?.Name); 
相关问题