Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取发送方';s元素类型(按钮、图片盒等)_C#_Types_Void_Sender - Fatal编程技术网

C# 获取发送方';s元素类型(按钮、图片盒等)

C# 获取发送方';s元素类型(按钮、图片盒等),c#,types,void,sender,C#,Types,Void,Sender,我正在使用多个元素的空白。例如按钮、标签、图片盒 但是我需要修改发送者的一些变量。例如名称、顶部、左侧等。。。这是我的代码: private void FareSurukle(object sender, MouseEventArgs e) { MessageBox.Show(((TYPE_COMES_HERE)sender).Name); } 如果我在PictureBox中编辑“TYPE_COMES_HERE”,它在PictureBox上工作。但它在其他元素上给出了错误。像

我正在使用多个元素的空白。例如按钮、标签、图片盒

但是我需要修改发送者的一些变量。例如名称、顶部、左侧等。。。这是我的代码:

private void FareSurukle(object sender, MouseEventArgs e)
{
   MessageBox.Show(((TYPE_COMES_HERE)sender).Name);      
}
如果我在PictureBox中编辑“TYPE_COMES_HERE”,它在PictureBox上工作。但它在其他元素上给出了错误。像纽扣一样


是否可以在不声明其类型的情况下获取和修改发送者的变量?或者我可以用if对发送者进行类型检查吗?

您可以尝试对每种类型进行强制转换,并在不为null的情况下对其进行处理:

var button = sender as Button;
if (button != null)
{
    // do something with button
}
var pictureBox = sender as PictureBox;
if (pictureBox != null)
{
    // do something with pictureBox
}
我需要修改发件人的一些属性,例如名称、顶部、左侧

你不必检查确切的型号。您提到的控件都继承自一个基类,该基类包含所有这些属性,恰当地命名为
Control

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

谢谢它和我想要的一模一样。我也想过这个,但我不知道它们被称为“控制”。我试过其他的方法,比如“类型,元素”…你可以。
MessageBox.Show(((Control)sender).Name);