C# 根据名字获取图片。


我现在把图片添加到资源文件里面了。比如有10个 名字分别为_0,_1,_2,_3........

平时都是这样的弄 Properties.Resources._0 ;

属性的名字从资源文件里面获取图片。怎么弄? 现在设置属性,怎么对应上,


string imageName;

        public string ImageName
        {
            get { return imageName; }
            set
            {
                imageName = value;

                //this.BackgroundImage = Properties.Resources._0;

                switch (ImageName)//这样的是不可取的 因为图片要是有很多的话,一点不好。
                {
                    case "_0":
                        this.BackgroundImage = Properties.Resources._0;
                        break;
                    case "_1":
                        this.BackgroundImage = Properties.Resources._1;
                        break;
                    default: break;
                }



            }
        }

       

9 个解决方案

#1


一句话 就是更加变量的名字 从资源文件里面取出图片。

我刚刚数了下 一共有106个图片,要用Switch的话,想想代码多难看,

#2


用for循环啊

#3


这里面用方法的方式代替,也就是在set中写个方法来赋值试试
 set
            {
                imageName = value;

                //this.BackgroundImage = Properties.Resources._0;

                switch (ImageName)//这样的是不可取的 因为图片要是有很多的话,一点不好。
                {
                    case "_0":
                        this.BackgroundImage = Properties.Resources._0;
                        break;
                    case "_1":
                        this.BackgroundImage = Properties.Resources._1;
                        break;
                    default: break;
                }



            }

#4


你的图片名字是有规律的这个很关键

如果没有规律那坏了,你只能一个一个写了

现在看for循环的是最快的了,你用for循环拼字符串就可以把你想要的名字返回回来


#5


这个恐怕不行吧, Properties.Resources._1; _1是 Properties.Resources 的一个属性 
属性是组织不了的啊...

#6


用for循环遍历存放图片的Resources文件夹,然后相应的判断就可以了

#7



        string imageName;
 
        public string ImageName
        {
            get { return imageName; }
            set
            {
                imageName = value;

                this.BackgroundImage = Properties.Resources.ResourceManager.GetObject(value) as Image;

            }
        }

#8


还真有,给力,学习了...

#9


引用 7 楼  的回复:
C# code

        string imageName;
 
        public string ImageName
        {
            get { return imageName; }
            set
            {
                imageName = value;

                ……

管用!!
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告