PdnResources.GetString GetImageResource  getObject这些怎么添加值。其实PdnResources就是继承的ResourceManager,但是我不知道怎么设定的这些图片和字符串资源的。下载地址在http://download.csdn.net/detail/kingyaying/5962057

解决方案 »

  1.   

    打开项目之后,有一个Strings的项目,里面有Strings.resx的资源文件,打开就看到了。可以在里面修改或者添加资源。
      

  2.   

    哦,奇怪的是我编译出来的很多string值应该是中文,为什么这里都是英文的呢?,另外{0}这样的东西0内容是什么是怎么设定的呢?
      

  3.   

    比如图片上个那个值为Layer{0}的那个。
    在代码中有:string newLayerNameFormat = PdnResources.GetString("AddNewBlankLayer.LayerName.Format");
                newLayer.Name = string.Format(newLayerNameFormat, (1 + historyWorkspace.Document.Layers.Count).ToString());
    类似于string.Format("{0}","123");//这样结果就为"123"这个字符串,这样程序中可以灵活的处理,而不必写死。
      

  4.   

    好巧,我的问题就是这里,我用的别人修改之后的版本这里最后得到的是 “图层 n”可是我在整个解决方案里也没有找到“图层”这两个中文字,原始版本的应该是layer。我很奇怪,是怎么做到的把英文变成中文的?难道有地方可以设置区域然后自动翻译吗?另外strings.resx为什么没法修改呢?我这里添加资源,移除资源都是灰色的。另外,这里好像都是字符串资源,没有图片资源,请问图片资源在哪里呢?
      

  5.   

    我这里是可以更新,移除的。
    图片资源你可以按F12,进去找。
    public static Image GetImage(string fileName)
            {
                Stream stream = GetResourceStream(fileName);            Image image = null;
                if (stream != null)
                {
                    image = LoadImage(stream);
                }            return image;
            }
    有这段代码,实际上还是通过路径转换为stream,然后返回一个Image对象,最终加载到Dictionary中。
      

  6.   

    哦,我这里被修改过的版本string的键对应的值都不是strings.resx里面的,是不是在别处被映射了,而且this.menuLayersAddNewLayer.Name = "AddNewLayer"这个不是键值对,估计也被映射了,求问可能会是怎么做到的呢?
      

  7.   

    string这里可以,还有是项目-属性-资源那里添加