C# winform程序中没有image button控件,为了实现image button的效果,有两种方法:
1,设置button属性,达到image button的效果。
2,使用windows gdi+,重写控件的paint事件。
第一种方法较为简单,第二种方法很麻烦。本文采用第一种方法。
效果图:
设置步骤:
1、导入图片。
BackGroundImage属性里载入想显示的图片,大多数是采用PNG格式(图片角上设置为透明)。
图片尺寸设置为自动适应,属性里BackgroundImageLayout 设置为Zoom
2、button属性FlatStyle,设置为Flat(没有边框)或者Popup。
FlatAppearance>应该是BorderSize为0,边框为0。
MonseDownBackColor、MonseDownBackColor为Transparent(鼠标移上去后不会产生多余变化,如果不设置会有阴影)。根据自己要的效果,可以不设置。
或者在代码里这样设置:
//设置无边框
button.FlatStyle = FlatStyle.Flat;
button.FlatAppearance.BorderSize = 0;
3、设置Margin为0,0,0,0(使图片贴边),BackColor为Transparent(透明)
效果如下:
细节:
Android/ios上,只要把png小图切下来,然后控件支持设置样式,就支持上面图标,下面文字的,背景白色这样的效果了。
.net平台有些不一样,可能得要把整个那个框框作为一个图,所以呢,图片得要切大一些。(欢迎交流修正。)
参考资料:
设置方法
C#实现图标按钮
https://blog.youkuaiyun.com/woniu3/article/details/25324909
亲测有效——C#制作图片Button
https://blog.youkuaiyun.com/liyuxing6639801/article/details/72717058
winform 图片按钮
https://blog.youkuaiyun.com/zhuoyue008/article/details/77098237
c#改变button的形状,并去除边框代码
https://blog.youkuaiyun.com/lisfaf/article/details/99309357
重写方法
c#自定义控件——ImageButton
https://blog.youkuaiyun.com/ku_cha_cha/article/details/6698394
c#自定义控件——ImageButton---饼形图的按钮
https://blog.youkuaiyun.com/gaofang2009/article/details/8546355