代码改变世界

调用资源文件

2010-11-30 18:26  微软一点都不软  阅读(222)  评论(0编辑  收藏  举报

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));
            this.label1.Text = (string)resource.GetObject("MyName");

        三,资源文件读取类.

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

     我个人比较喜欢用第二种方法.第一种方法也是比较好的,但第三种的话可能要出问题.具体的自己试一试好啦.