网站首页 > 开源技术 正文
哈喽,你好啊,我是雷工!
在我国上位机开发,医院里的HIS开发、ERP开发、很多二次开发、GIS开发等,相当一部分都是由C#开发的。
目前很多企业应用是C/S+B/S架构,WinForm作为经典的框架,还是很有必要学习的,特别是对于初学者比较友好。
要想学好WinForm需要着重以下几个方面:
(1)、UI界面的布局设计(首先掌握自带的界面设计,要想追求绚丽界面可以再学习WPF,收集一些第三方的控件 );
(2)、常见数据库的使用;
(3)、掌握常用核心控件的应用,熟悉常用的事件;
01 WinForm中Partial部分类的使用
新创建的WinForm中的窗体文件由如下两个类组成:
Form1.cs:
Form1.Designer.cs
从上面两个截图中可以看出,这两个类文件都使用了partial关键字,并且类名是相同的,这就是部分类。
使用部分类的好处是能够让自动生成的代码后置,让我们自己编写的代码显得更加简洁。
当然,虽然是两部分,但是在最后编译的时候,仍然会编译成一个窗体类。
02 控件初始化
调用后面Desinger类中的方法,用于控件初始化
注意事项:在初始化的方法前边,不可以写任何代码!否则程序会报错。
03、WinForm窗体中Event事件
在.NET平台上面,所有可以使用的控件,均封装了很多相应的事件功能,所谓的事件功能,就是动作的执行。
例如:当用户点击一个按钮时,点击按钮的这个动作,会被封装成Click点击事件,当用户点击该按钮时,该事件会被触发执行,我们可以在该事件内,编写我们需要程序执行的任务
3.1、按钮事件
当界面添加一个button按钮,双击button会c创建打开该按钮的脚本,如下:
private void btnMine_Click(object sender,EventArgs e)
{
//其中sender表示当前控件的对象
}
3.2、窗体事件-FormClosing
FormClosing表示窗体关闭之前发生的事件;
应用场景示例:
当点击关闭按钮,实现关闭窗口时,弹窗确认是否关闭功能,点击【确定】按钮,窗口关闭;点击【取消】按钮,取消关闭窗口;
效果演示:
示例代码:
//窗体关闭之前发生的事件
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show("确认要关闭该窗口吗?","确认窗口",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
if (result == DialogResult.Cancel)//取消关闭窗口
{
e.Cancel = true;
}
}
3.3、窗体事件-FormClosed
FormClosed表示窗体关闭之后发生的事件;
代码样式:
//窗体关闭之后发生的事件
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
//可以在该位置编写窗体关闭后要执行的逻辑
}
猜你喜欢
- 2024-10-26 脚下每一步都是马赛克艺术(脚下走的每一步)
- 2024-10-26 Python GUI开发:PySide2使用入门(python gui程序)
- 2024-10-26 手把手教会 VS2022 设计 Winform 高DPI兼容程序 (net461 net6.0 双出)
- 2024-10-26 如何使用FastReport .NET 在 JetBrains Rider 中创建PDF报告?
- 2024-10-26 实战PyQt5: 002-安装和配置PyQt5开发环境
- 2024-10-26 触得到的时间--kickstarter上受到最多资助的项目
- 2024-10-26 今天再用10分钟,木辛老师带你一起走入界面布局管理的知识海洋吧
- 2024-10-26 51款工业风浴室超高逼格做法,真是太好用了
- 2024-10-26 由浅入深理解C#中的事件(c#事件的五要素)
- 2024-10-26 PYQT5学习(02):利用Qt Designer制作第一个窗口程序
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)