none
設定Button的BackgroundImage問題 RRS feed

  • 問題

  • Dear all:

                  請問Button裡面可以直接設定BackgroundImage的來源,現在我問題是Button是new出來的那要怎麼設定它的BackgroundImage呢?假設我要取的來源檔是放在專案資料夾的Image裡為btnImage圖檔.

    2007年7月30日 上午 02:25

所有回覆

  • HI,

     

    1. 您可以設定images資料夾底下的圖檔的[複製到輸出目錄]屬性, 設定成永遠複製

    2. 設定Button物件的BackgroundImage屬性

        Button btn=new Button();

        btn.BackgroundImage=new Birmap("背景圖檔名稱");

     

    tihs

    2007年7月30日 上午 02:52
  • Dear tihs:

                     我是寫Window Form介面的,剛試了一下在指定路徑為"c:\\btnImage",是可以把button指定背景圖

                     可是我改寫成專案下的Image(這目錄是我自己新Add)圖檔"Image\btnImage",會有錯..有點不太懂要

                     怎麼去讀專案底下目錄圖檔..

     

    Bitmap img = new Bitmap("c:\\btnImage");  -- ok

    Bitmap img = new Bitmap("Image\btnImage"); -- error

     

    2007年7月30日 上午 03:11
  • 你可以試看看,使用 Assembly.Location 取得執行檔所在的資料夾路徑:

     

    Code Snippet
    this.GetType().Assembly.Location

     

     

    然後,用它來組合出正確的路徑出來。

     

    2007年7月30日 上午 03:27
    版主
  • Dear 小朱:

                   這邊有點不太懂...不知道能不能再講解更清楚點或適用個範例讓小弟更加了解運用..?

    2007年7月30日 上午 07:39
  • 若把圖檔當外部檔案, 則圖檔要跟著執行檔一起部署.

    可以考慮將圖檔載入成為資源檔(resource)

    這樣比較方便..

    同時BackgroundImage的設定就可以是這樣 (在btnImage已載入Resources.resx後)

     

    Code Snippet

    YourButton.BackgroundImage = YourProjectName.Properties.Resources.btnImage;

     

     

    2007年7月30日 上午 08:59
  • HI,

     

    您有沒有將圖檔設定成要複製到應用程式的輸出目錄,如果沒有,除非寫程式取得目錄名稱, 否則光靠\Image\btnImage寫法是抓不到圖的

     

    tihs

    2007年7月31日 上午 01:35
  •  

    try it

    Bitmap img = new Bitmap("..\Image\btnImage");

    2007年7月31日 上午 02:08
  • Dear HowardWu:

                            這次是我第一次用資源檔,感覺上還滿好用的,直接設定好後呼叫。可是請問大大們用資源檔好處在哪壞處在哪?

    2007年7月31日 上午 02:14
  • 優點是可集中管理, 攜帶方便(因resource會嵌入組件中)

    缺點是組件的size會變肥, 彈性較小

    若有動態變換圖檔的需求, 仍應以讀取外部圖檔方式辦理較佳.

    有問題再請多多指教...

     

    Howard

     

    2007年7月31日 下午 03:56