如果是嵌入式资源文件也是编译,所以应该无法动态更改如果系统API支持,那么你可以直接在.NET通过 P/I 调用这个API

解决方案 »

  1.   

    引用自:http://www.diybl.com/course/4_webprogram/asp.net/asp_netshl/2008822/137028.html 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;
                        }
                    }
                }     我个人比较喜欢用第二种方法.第一种方法也是比较好的,但第三种的话可能要出问题.具体的自己试一试好啦.
      

  2.   

    我自己写的一段代码  private Image InitLineStateImage(LineState state)
            {
                switch (state)
                {
                    case LineState.WaitUse:
                        return global::gcmsApp.Properties.Resources.waitUseBIg;
                    case LineState.Stop:
                        return global::gcmsApp.Properties.Resources.stopBig;
                    case LineState.Working:
                        return global::gcmsApp.Properties.Resources.workingBig;
                    case LineState.Fault:
                        return global::gcmsApp.Properties.Resources.FaultBig;
                    case LineState.OnLine:
                        return global::gcmsApp.Properties.Resources.InPosition;
                    default:
                        return global::gcmsApp.Properties.Resources.waitUseBIg;
                }
            }我用的是这种方法,直接利用资源文件。