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#学习笔记:动态设置控件的背景图片