WinForm资源文件[转]

 C#写WinForm的时候,常常用到里面的资料文件.就比如加入一个窗体的背景图片.如果不加入资源文件的时候,只能把图片放入Bin目录下,然用Application.StartupPath+文件名从而加入图片.这一种法有一个不好的地方就是如果图片被用户删了什么办呢?所以我个人认为,最好用的就是导入资料文件.

       导入资料文件很简单,这里就不用说啦.下面谈一谈引用资源文件的几个方法.有谁需要用到这一点知识的可以参考一下:

       一,用反射的方法.

               Assembly assem = this.GetType().Assembly;
            Stream stream = assem.GetManifestResourceStream("Draw.Resources.xunmeng.jpg");
            this.BackgroundImage = new Bitmap(stream);

       二,常用的方法.

             //这里用的引用的是字符串

             ResourceManager resource = new ResourceManager(typeof(About));//About为资源文件名(没有扩展名)
            this.label1.Text = (string)resource.GetObject("MyName");//字符串资源名

      pictureBox1.Image = (Image)resource.GetObject(i.ToString ());//图片资源名

        三,资源文件读取类.

                          using (ResXResourceReader reader = new ResXResourceReader(@"About.resx"))
            {
                foreach (DictionaryEntry entry in reader)
                {
                    if (entry.Key.ToString() == "MyName")
                    {
                        this.label2.Text = (string)entry.Value;
                    }
                }
            }

原文地址:https://www.cnblogs.com/mane/p/1953816.html