当前位置:网站首页>C# WinForm系列-Button简单使用
C# WinForm系列-Button简单使用
2022-07-06 09:33:00 【心蓝168】
本系统实例适合初学者,老手请直接Pass吧。
上一次演示了【创建Windows项目】,希望初学者能爱上C# WinForm编程。
只因本人是一名程序员,文档能力有限,直接进入主题吧。本节简单的WinForm中Button的使用或如何利用其他的WinForm控件代替Button使用。
很多初学者的想法很单纯,心里总想着教科书上说按扭,只能用按扭,不会灵变通,这个在实际的开发中是行不通的。当然您也可以自已开发的一个Button类(当您成为老手时)。在项目开发中,可以直接使用Button,也可以使用Panel,Label,PictureBox等代替Button使用。别是使用图片时。
如下图所示:
图中有使用普通的Button控件,也有使用Panel+背景图片代替Button实使。毕竟C/S编程与B/S编程不同。在WinForm中,很多控件都有Click、MouseClick、MouseDown事件。这些事件都能让我们很好的实现鼠标点击操作,即就是Button那样。
下面分别介绍一下:
普通的按扭:
直接将Button控件拖上窗口中,不做任何属性设置。
设置按扭的FlatStyle为Flat,这样让按扭变得偏平。这种做法在以前XP时代很常用,但随着人们使用Win7,Win8,Win10,Win11后,这种做法不常(好像在工控机上还是很常用)。
添加背景片图的按扭,这给图片设置了背景图片和背景色。主要是因为这背景图片是透明的。这种做法不常用,因为图片周边有一个空白的间距。当然你可能重写Button基类来处理(老手),初学者可以使用以下做法。
使用Panel(或使用Picture等)代替Button,这种做法可以去掉Button中的空白间距。这种方法做出来的按扭好不好看,就取决于你的美术工底了(我的不好,哈哈)。
那如何设置图片,让用户觉得我已点了这个功能(按扭)呢,有很多做法,改变背景图片,改变文字等等。
这里我介绍一下我的做法,比如上图中的【报到统计】,大家都知道这是一个图片了吧,一般情况点击一下,换一不同颜色的图片即可。这就要准备两张【报到统计】的图片。我的做法是通过修改Panel的前景图片,背景图片不变。前景图片是一张只有一个红色横杠的图片(导入至项目的资源中备用):
切换代码:
项目中有很多这样的控件,大家写个公共方法执行一下即可(记得传入当前点击按扭的对象哦)。
图标按扭 :
开发过相关系统的工程师都清楚,一般情况下我们都会给按扭加上一个图标,通过这个图标更能体现这个按扭的作用。
比如:
加号表示新建,新增,增加,添加等
减号表示删除,移除等
WinForm的Button这个图标的位置很奇怪的,不是居左,居中就是居右。如果按扭的宽度太大,就是显示很不友好。很多人也不清楚(懒得研究)如何设置其属性让按扭变得更好看。其实只要肯多动手,多偿试还是很快就试出来的。
这样的图标位置看着是不是爽多了????答案是肯定的
只要设置一个按扭的Padding-Left属性即可。
最后一个示例啦,讲一下鼠标移上改变按扭的背景色,移出时还原按扭的背景色。
这需要使用两个事件,分别是MouseEnter和MouseLeave。如下图所示:
好了,简单的讲到这里,更好更丰富的用法有待大家自已去探索,学习一下高级程序,也可看看《C#程序员开发手册》,这本书里对C#的基础类库、控件的属性等有比较详细的介绍。
附以前开发过的系统的效果图,供大家参考一下:
边栏推荐
猜你喜欢
吴军三部曲见识(四) 大家智慧
学习投资大师的智慧
"One year after graduation, I won ACL best paper"
JVM garbage collector part 2
手把手带你做强化学习实验--敲级详细
Alibaba cloud server docker installation mysql5.5
汇编语言寻址方式
MySQL日期函数
Introduction to spring trick of ByteDance: senior students, senior students, senior students, and the author "brocade bag"
Description of project structure configuration of idea
随机推荐
JVM之垃圾回收器下篇
Introduction to spring trick of ByteDance: senior students, senior students, senior students, and the author "brocade bag"
koa中间件
Description of project structure configuration of idea
Shawshank's sense of redemption
DOS 功能调用
TCP's three handshakes and four waves
Akamai浅谈风控原理与解决方案
Flink 解析(四):恢复机制
DOS function call
数据传送指令
唯有学C不负众望 TOP4 S1E6:数据类型
Data transfer instruction
Coursera cannot play video
JVM之垃圾回收器上篇
MySQL digital function
Idea resolving jar package conflicts
Activit零零碎碎要人命的坑
The daemon thread starts redis and modifies the configuration file
MySQL数字函数