.NET 下各種Resource的讀取方式


1) Embedded Resource (Build Action 設置為 Embedded Resource) 在運行時使用GetManifestResourceStream讀取

Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("WindowsFormsApplication1.Properties.Resources.warning.png"));

 

2) Resource (Build Action 設置為 Resource) 在運行時使用 Resource Manager讀取

ResourceManager rm = new ResourceManager("WindowsFormsApplication1.g", typeof(Form1).Assembly);

Image warImg = null;
ResourceSet rs= rm.GetResourceSet(new System.Globalization.CultureInfo("en"),true,true);
foreach (DictionaryEntry item in rs)
{
        Console.WriteLine(item.Key.ToString());

        warImg = Bitmap.FromStream(item.Value as Stream);

}

 

3) 如果是直接添加圖片到.Resx資源文件中,在運行時使用Resource Manager讀取, 但讀取方式有不同

ResourceManager rm = new ResourceManager("WindowsFormsApplication1.Properties.Resources", typeof(Form1).Assembly);

Bitmap warnImg = rm.GetObject("warning") as Bitmap;

 

以上是WinForm 和 WPF下的情況,在ASP.NET下還有另外一種嵌入資源方式,通過WebResourceAttribute, NOTE: 這里的image的build action必須是Embedded Resource.

添加 assembly attribute:

[assembly: WebResourceAttribute("ServerControl1.images.component.gif", "image/gif")]

客戶端讀取:

string imgURL = Page.ClientScript.GetWebResourceUrl(typeof(ServerControl1), ("ServerControl1.images.component.gif");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM