【问题标题】:How can I access my applications images that are in my resources?如何访问我的资源中的应用程序图像?
【发布时间】:2009-12-14 22:16:47
【问题描述】:

我将简要解释一下我希望我的程序做什么。

我的表单上有很多图像,我希望在 MouseEnter 事件时更改图像源。

因此,如果用户将鼠标移到按钮上,我希望按钮看起来会发光。当然,我已经为 Image 控件制作了两个图像。一个正常,一个发光。我正在尝试在 mouseEnter 上为所有图像创建一个事件,因为我不想让 60 多个事件污染我的代码,这些事件基本上都在做同样的事情。

有人建议我这样做:

void HeroMouseEnter(object sender, EventArgs e)
{    
    ((PictureBox)sender).Image =  GetImage(((PictureBox)sender).Name)           
}

老实说,这将完全按我的需要工作。但我对 GetImage() 方法有点困惑。

我将如何准确编码?我所有的图像,发光的和不发光的都已经添加到我的资源中。如何根据 PictureBox 的名称​​召唤他们?

我尝试制作一个字典,键是图片框的名称,值是资源文件,但没有骰子。

请帮忙!

【问题讨论】:

    标签: c# collections dictionary resources


    【解决方案1】:

    这样的?

        public Image GetImage(string name)
        {
            switch (name)
            {
                case "PictureBox1":
                    return Properties.Resources.Picture1;
                case "PictureBox2":
                    return Properties.Resources.Picture2;
                default:
                    return null;
            }
        }
    

    【讨论】:

    • 如果您的图片框与您的资源名称完全相同,您可以使用反射来获取它们,那么您不需要维护 switch case 语句:)
    猜你喜欢
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多