1、手動(dòng)嵌入式資源
右鍵工程-添加-現(xiàn)有項(xiàng)-圖片或者文本
點(diǎn)擊圖片或者文本-生成操作-嵌入的資源 //這一步非常重要
這樣添加的圖片或者文本就打包到exe中
可以這樣訪問(wèn):
Assembly assembly = GetType().Assembly;
System.IO.Stream streamSmall = assembly.GetManifestResourceStream("WindowsFormsApplication1.event.jpg");
//當(dāng)作為一個(gè)資源被嵌入后,資源的完整名稱會(huì)由項(xiàng)目的默認(rèn)命名空間與文件名組成
Bitmap BackgroundImg = new Bitmap(streamSmall);
pictureBox1.Image = BackgroundImg;
Assembly assembly = GetType().Assembly;
System.IO.Stream streamSmall = assembly.GetManifestResourceStream("WindowsFormsApplication1.NewFolder1.TextFile1.txt");
StreamReader sr = new StreamReader(streamSmall);
string text = sr.ReadToEnd();
MessageBox.Show(text);
2、手動(dòng)非嵌入式資源
右鍵工程-添加-現(xiàn)有項(xiàng)-圖片或者文本
點(diǎn)擊圖片或者文本-生成操作-內(nèi)容 //如果不進(jìn)行任何操作,默認(rèn)就是非嵌入式資源
這樣添加的圖片或者文本就打包到exe中
可以這樣訪問(wèn):
通過(guò)絕對(duì)路徑和相對(duì)路徑作為外部資源訪問(wèn)
/////////////////////////////////////////////
3、.net提供的訪問(wèn)嵌入式資源
Resources.resx,Form1.resx怎么使用? //只需要添加,不用任何操作,默認(rèn)就是嵌入式資源
每創(chuàng)建一個(gè)窗體就會(huì)自動(dòng)生成一個(gè).resx文件,可以在這個(gè)文件中加入字符串、圖像、圖標(biāo)、文件等。
項(xiàng)目編譯時(shí),生成exe文件,這些圖像、圖標(biāo)、文件等都會(huì)被寫入 exe 文件中。
每一個(gè)窗體都有一個(gè)資源文件,并且項(xiàng)目有一個(gè)共用的資源文件,最好使用這個(gè)共用的資源文件,查看項(xiàng)目屬性里,選中資源,
就可以加入自己要的資源 添加資源 - 添加現(xiàn)有文件,就可以反圖片資源放進(jìn)入。
讀取這個(gè)圖片資源,如已經(jīng)加入了一個(gè) a.bmp 圖像,名稱是 Pic
Bitmap bitmap = 項(xiàng)目的名稱空間.Properties.Resources.Pic;
這就可能用了這個(gè)資源了。
具體的類位于,Properties目錄中的 Resources.resx 文件中,打開(kāi)看下就明白了。
資源文件也可以自己創(chuàng)建,像創(chuàng)建類一個(gè)。?
這種嵌入式資源訪問(wèn)方式是.net內(nèi)部提供的方式,與訪問(wèn)app.config方式類似,都是.net內(nèi)部提供,當(dāng)然也可以使用1自己手動(dòng)創(chuàng)建