有个资源文件,里面存了很多图片,都是我要用到的。我想通过遍历里面的对象用一个循环就取出所有的图片,而不是手工输入ID,输一个取一个。有办法做到吗?注:图片ID的命名没有规律。

解决方案 »

  1.   

    string resourceName = "test.aspx.vi-VN.resx";
                ResXResourceReader reader = new ResXResourceReader(resourceName);
                IDictionaryEnumerator enumerator = reader.GetEnumerator();            XmlDocument xmlDoc = null;
                while (enumerator.MoveNext())
                {
                    if (enumerator.Key.ToString() == keyName)
                    {
                        MemoryStream ms = (MemoryStream)enumerator.Value;
                        MemoryStream ms2 = new MemoryStream(ms.GetBuffer(), 0, (int)ms.Length);                    XmlSerializer ser = new XmlSerializer(typeof(XmlDocument));
                        xmlDoc = (XmlDocument)ser.Deserialize(ms2);                    ms.Close(); ms2.Close();
                        break;
                    }
                }
                reader.Close();
      

  2.   

    请注意我的标题:如果遍历资源文件(*.resource)中的对象? 是*.resource文件,不是resx文件。
      

  3.   

    请问二楼,你是以文件的形势读取"RES"的,能不能通过 资源文件类来遍历呢?
    即:我有ResourceManage rm;如何获取rm中的所有资源呢?
      

  4.   

    using( ResourceReader reader =
      new ResourceReader(@"Resource1.resources") ) {
      foreach( DictionaryEntry entry in reader ) {
        string s = string.Format("{0} ({1})= '{2}'",
          entry.Key, entry.Value.GetType(), entry.Value);
        MessageBox.Show(s);
      }
    }
      

  5.   

    可以进http://www.9i5e.com/Company.aspx 看看,个人觉的不错的例子
      

  6.   

    to vs1.1
    Resource Editor .NET
    http://www.codeproject.com/cs/miscctrl/resource_editor.aspto vs2
    http://www.codeproject.com/dotnet/Extracting_Embedded_Image.asp
      

  7.   

    Assembly.GetEntryAssembly().GetManifestResourceNames()