天天看點

C#學習筆記:動态設定控件的背景圖檔

C#窗體應用程式中設計中,有些控件是可以設定背景圖檔(BackgroundImage)的,比如窗體(Form)、按鈕(Button)、标簽(Label)等,對于圖檔框控件(PictureBox),它不僅有背景圖檔(BackgroundImage)屬性,還有圖檔(Image)屬性。不管是BackgroundImage,還是Image,用法都是相同的。這兩個屬性都能在屬性欄中設定,這裡主要講的是在代碼中動态地設定。

關于控件背景圖檔,有兩個屬性經常會用到,分别是BackgroundImage,和BackgroundImageLaout(圖檔布局),下面将講述他們的用法。

1.設定控件的背景圖檔

假設控件名為control,圖檔的路徑為C:\Destop\001.jpg,則可以這樣設定控件的背景圖檔:

control.BackgroundImage=new Bitmap(@“C:\Destop\001.jpg”);//載入圖檔

     或者

control.BackgroundImage=new Bitmp(“C:\\Destop\\001.jpg”’);

     注意:圖檔的路徑必須是全路徑,否則無法加載圖檔;

輸入圖檔的路徑時,要注意格式。加字首@符号,表示原樣輸入,如果不加@字首,則要考慮斜杠“\”的轉 義字元,即用雙斜杠“\\”,才是表示“\”。

加載完圖檔,還要設定圖檔的布局,才能取得自己想要的效果,這就需要對圖檔的(BackgroundImageLayout)進行設定了。圖檔布局一共有五種選擇,分别為:

None:不做任何處理,從控件左上角開始顯示圖檔。如果圖檔比控件小,則控件不會被填滿;如果圖檔比控件    大,則控件會被填滿,而圖檔隻顯示一部分。

Tile:如果圖檔比控件小,則圖檔會重複顯示,直到控件被填滿;如果圖檔比控件大,則控件被填滿,圖檔顯示 不全;

Stretch:無論圖檔的大小如何,都會被縮放為控件的大小,圖檔全部顯示,控件也被填滿。

Zoom:圖檔也會被縮放,與Stretch不同的是,縮放是等比例的。

設定圖檔布局:

control.BackgroundImage=ImageLayout.Stretch;//采用Stretch布局

control.BackgroundImage=ImageLayout.Center;//采用Center布局

.......

2.擷取圖檔

    Image  picture;//定義一個Image類型的變量

ImageLayout  layout;//定義一個ImageLayout類型的變量

picture=control.BackgroundImage;//将背景圖檔賦給picture

layout=control.BackgroundImageLayout;//将背景圖檔布局賦給layout

3.執行個體

設定視窗(Form1)背景圖檔,圖檔布局為Stretch;設定圖檔框(PictureBox1)的圖檔屬性(Image);将窗體的背景圖檔賦給按鈕(Button1)。

代碼部分如下圖:

C#學習筆記:動态設定控件的背景圖檔

運作效果

C#學習筆記:動态設定控件的背景圖檔