带有图片框的c#反射
本文关键字:反射 有图片 | 更新日期: 2023-09-27 18:01:22
我想做以下事情:
string WhoIsTheSender="pictureBox1";
switch (WhoIsTheSender)
{
case "pictureBox1":
pictureBox1.Image = Properties.Resources.ledOff;
break;
case "pictureBox2":
pictureBox2.Image = Properties.Resources.ledOff;
break;
//....until case "pictureBox64": pictureBox64.Image = Properties.Resources.ledOff;
break;
}
有没有可能让它更短?我如何使用反射?
string WhoIsTheSender="pictureBox1";
WhoIsTheSender.Image = Properties.Resources.ledOff; //in this specific example WhoIsTheSender="pictureBox1";
提前感谢您的帮助!
是的,它是一个事件,基本上我有64个图片框去同一个事件。我不想单独处理所有事件,所以我只有一个事件。
您需要的信息已经在事件的sender
参数中可用。
如果您确定sender
始终是PictureBox
,那么一行(非反射)就可以了:
(PictureBox(sender)).Image = Properties.Resources.ledOff;
如果您不确定sender
类型,那么首先测试它:
var picBox = sender as PictureBox;
if (picBox != null)
picBox.Image = Properties.Resources.ledOff;