如何访问我的资源中的应用程序映像?
问题描述:
我将简要解释我希望我的程序执行的操作。如何访问我的资源中的应用程序映像?
我在窗体上有很多图像,我希望图像源在MouseEnter事件上更改。
因此,如果用户将鼠标移动到按钮上,我希望按钮看起来很亮。当然,我为Image控件制作了两个图像。一个正常,一个发光。我试图在mouseEnter上为所有图像创建一个事件,因为我不想用60多个事件污染我的代码,所有这些事情基本上都在做同样的事情。
有人建议我做这样的事情:
void HeroMouseEnter(object sender, EventArgs e)
{
((PictureBox)sender).Image = GetImage(((PictureBox)sender).Name)
}
老实说,这将工作究竟我怎么需要它。但我有点困惑,关于GetImage()方法。
我该如何编码?我的所有图像,包括发光和不发光的图像都已添加到我的资源中。我怎么会根据PictureBox的名字召唤他们?
我试着制作一个字典,其中的关键是pictureBox的名称和值是资源文件,但没有骰子。
请帮忙!
答
是这样的吗?
public Image GetImage(string name)
{
switch (name)
{
case "PictureBox1":
return Properties.Resources.Picture1;
case "PictureBox2":
return Properties.Resources.Picture2;
default:
return null;
}
}
如果您的图片框命名与您的资源完全相同,您可以使用反射来获取它们,那么您将不需要维护开关case语句:) – 2009-12-14 22:30:46