我将简要解释一下我希望我的程序做什么。
我的表单上有很多图像,我想在MouseEnter事件上更改图像源。
因此,如果用户将鼠标移到按钮上,我希望按钮看起来发光。当然我为Image控件制作了两个图像。一个正常,一个发光。我正在尝试在mouseEnter上为所有图像制作一个单独的事件,因为我不想用60多个事件污染我的代码,而这些事件基本上都在做同样的事情。
有人建议我做这样的事情:
void HeroMouseEnter(object sender, EventArgs e)
{
((PictureBox)sender).Image = GetImage(((PictureBox)sender).Name)
}
老实说,这可以完全我需要它。但我对GetImage()方法感到有点困惑。
我将如何编码?我的所有图像,包括发光图像和非发光图像都已添加到我的资源中。我如何根据PictureBox的名称召唤?
我尝试制作一个字典,其中键是pictureBox的名称,值是资源文件,但没有骰子。
请帮忙!
答案 0 :(得分:1)
这样的东西?
public Image GetImage(string name)
{
switch (name)
{
case "PictureBox1":
return Properties.Resources.Picture1;
case "PictureBox2":
return Properties.Resources.Picture2;
default:
return null;
}
}