2014-02-20 13 views
2

後我目前的設置我的圖片在我的窗戶形成這樣的:圖像添加到Windows窗體所以他們的工作發佈

pictureBox1.Image = Image.FromFile("C:\\Users\\User\\Documents\\Visual Studio 2013\\Projects\\WindowsFormsApplication1\\WindowsFormsApplication1\\Krum\\11.jpg"); 

但我發佈後的產品,這將無法正常工作,並從另一臺計算機在加載它另一個位置。

如何將圖像添加到我的項目中,以便在我發佈後將其發送到另一臺計算機?我使用什麼路徑以及我需要添加哪些路徑?

UPDATE

試圖將它添加到屬性後找到的路徑,我的文件是不工作得非常好。在我的性質鑑別儀表,文件看起來是這樣的:

internal static System.Drawing.Bitmap one { 
     get { 
      object obj = ResourceManager.GetObject("one", resourceCulture); 
      return ((System.Drawing.Bitmap)(obj)); 
     } 
    } 

然後我嘗試使用這樣的:

System.Reflection.Assembly thisExe; 
     thisExe = System.Reflection.Assembly.GetExecutingAssembly(); 
     System.IO.Stream file = 
      thisExe.GetManifestResourceStream("WindowsFormsApplication1.Properties.Resources.one"); 
     this.pictureBox1.Image = Image.FromStream(file); 

回答

2

圖像文件添加到項目,並設置生成操作屬性,以嵌入的資源在解決方案資源管理器中,然後使用類似:

System.Reflection.Assembly thisExe; 
thisExe = System.Reflection.Assembly.GetExecutingAssembly(); 
System.IO.Stream file = 
    thisExe.GetManifestResourceStream("AssemblyName.ImageFile.jpg"); 
this.pictureBox1.Image = Image.FromStream(file); 

參考:http://msdn.microsoft.com/en-us/library/aa287676(v=vs.71).aspx

+0

謝謝,我試着運行代碼來查找我的程序集中的資源名稱,它給了我:「WFA1.Form1.resources」和「WFA1.Properties.Resources.resources」...我如何找到我想添加的路徑作爲'GetManifestResourceStream()'的參數?對不起,但我對這個 –

+0

完全沒有問題,我不是百分之百地確定你在這裏找到你最新的評論。如果下面的文章不能幫助你:http://msdn.microsoft.com/en-us/library/aa287526(v=vs.71).aspx那麼也許你可以在SO上創建一個新的問題。 – Seany84

+0

是的,這是我閱讀和使用的文章。但只是給了我「流不能設置爲空」錯誤,即使當我認爲我找到了正確的道路= /我試着在這裏更新我的問題,也許你的蜘蛛感覺可以看到我做錯了什麼,哈哈 –

0

如果您不想將圖像嵌入到程序集文件中,可以隨時將它們添加到解決方案中,將屬性「複製到輸出目錄」設置爲「始終」,然後使用以下代碼訪問相對路徑:

var directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); 
var filename = Path.Combine(directory, "Images", "Image1.png"); 

此外,如果您正在使用安裝項目,還包括要與程序集一起安裝的文件夾/文件。

相關問題