2011-08-19 37 views
3

我正在用C#開發一個窗口窗體。在我的窗口中有一個圖片框。我想如果用戶沒有選擇一個圖像,那麼默認圖像將被加載到保存在我的項目文件夾中的圖片框中。如果用戶沒有在C#中選擇圖像,我想要在圖片框中加載默認圖像

在此先感謝

+0

請顯示一些代碼...你試過了什麼? – Yahia

+1

問題是? – Carsten

+1

問題是如果用戶不選擇任何圖像,我將如何加載默認圖像? – bilal

回答

6

我想你想知道如何可以得到從項目文件夾右側的圖片?

首先添加圖片到你的項目(添加的項目),並生成操作設置爲嵌入的資源: enter image description here

然後將下面的代碼做的伎倆:


     private void SetPicture() 
     { 
      var assembly = System.Reflection.Assembly.GetExecutingAssembly(); 
      using (var imgStream = assembly.GetManifestResourceStream("DataGrid.TestImage.jpg")) 
      { 
       var img = new Bitmap(imgStream); 
       Picturebox.Image = img; 
      } 
     } 

其中「數據網格」是我的項目名稱(你必須插入你自己的),「TestImage.jpg」是你的圖像的名稱(如果你把它放到一個文件夾中,你可能必須給文件夾名稱)。 Picturebox是一個PictureBox-Control我設置圖像。

+0

爲什麼不只是使用Image.FromFile? – Neowizard

+0

當然你也可以使用ImageList - 這樣你就不必編寫任何代碼。但是帶有GetManifestResourceStream的代碼片段可以用於任何嵌入式資源,並且它隨時可用。 – Carsten

+0

@Neowizard:Image.FromFile是否適用於嵌入式資源?從未嘗試過。我以他想要在他的大會中擁有標準形象的方式來解釋這個問題。如果它與集會一致,那你肯定是對的。 – Carsten

0

無論是在設計器中設置的圖像和代碼覆蓋它

比如,你可以在用戶選擇後,把這個:

if (someConditionIndicatingUserAction) 
    pictureBoxControlName.Image = UserSelectedImage; 

或者,你可以存儲在一個變量的默認值,並設置(如果用戶沒有選擇任何東西,你不會改變數值,如果他這樣做,相應地改變它)

相關問題