C#学习笔记:动态设置控件的背景图片
来源:互联网 发布:淘宝怎么联系不了卖家 编辑:程序博客网 时间:2024/06/05 11:57
C#窗体应用程序中设计中,有些控件是可以设置背景图片(BackgroundImage)的,比如窗体(Form)、按钮(Button)、标签(Label)等,对于图片框控件(PictureBox),它不仅有背景图片(BackgroundImage)属性,还有图片(Image)属性。不管是BackgroundImage,还是Image,用法都是相同的。这两个属性都能在属性栏中设置,这里主要讲的是在代码中动态地设置。
关于控件背景图片,有两个属性经常会用到,分别是BackgroundImage,和BackgroundImageLaout(图片布局),下面将讲述他们的用法。
1.设置控件的背景图片
假设控件名为control,图片的路径为C:\Destop\001.jpg,则可以这样设置控件的背景图片:
control.BackgroundImage=newBitmap(@“C:\Destop\001.jpg”);//载入图片
或者
control.BackgroundImage=newBitmp(“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# 设置控件的背景图片
- 如何设置C# treeview Web控件背景图片
- 如何设置C# treeview Web控件背景图片
- WPF 后台C#设置控件背景图片
- WPF 后台C#设置控件背景图片
- C#学习笔记:设置与获取控件的大小
- C#学习笔记:控件的字体(Font)属性设置
- c# 动态设置控件位置
- GTK+设置控件背景图片
- GTK+设置控件背景图片
- C#开发学习笔记:动态绑定控件事件
- C#开发学习笔记:Dev控件库的TreeList动态添加节点
- C#学习笔记:控件的Location属性值的设置与获取
- DXperience皮肤设置 C#第三方控件学习笔记
- c#学习笔记之使用 TableLayoutPanel 控件设置窗体布局
- Visual C# 2010学习笔记二之设置选项控件的使用
- C#学习笔记:设置label(标签)控件的背景颜色为透明
- TensorFlow使用PyCharm编辑器进行配置和编译在Windows下
- 集合知识点归纳
- JDBC了解(3)-beautils
- IO多路复用--select和epoll详解
- 一句总结设计模式
- C#学习笔记:动态设置控件的背景图片
- Hibernate入门03_单向多对一
- 物理学史二十讲
- [一天几个linux命令] 目录与文件的权限意义
- linux安装apache
- 编程书籍推荐
- 学习淘淘商城第七十九课(LVS+Nginx负载均衡----下篇)
- Python面向对象——01
- C语言中 float double在内存中的存储