网站首页 > 技术文章 正文
实例说明
用户对程序进行操作时,难免会有错误操作的情况,例如不小心关闭程序,如果尚有许多资料没有保存,那么损失将非常严重,所以最好使程序具有灵活的交互性。人机交互过程一般都是通过对话框来实现的,对话框中有提示信息,并且提供按钮让用户选择,例如“是”或“否”。这样用户就能够对所做的动作进行确认。正如前面所说的不小心关闭程序,如果在关闭程序之前提示用户将要关闭程序,并且提供用户选择是否继续下去,这样就大大减少了误操作现象。本例程序中的窗口在关闭时会显示一个对话框,该对话框中有两个按钮“是”与“否”代表是否同意关闭程序操作。
技术要点
窗口正要关闭但是没有关闭之前会触发FormClosing事件,该事件中的参数FormClosingEventArgs e中包含Cancel属性,如果设置该属性为True,窗口将不会被关闭。所以在该事件处理代码中可以提示用户是否关闭程序,如果用户不想关闭程序,则设置该参数为True。利用MessageBox参数的返回值可以知道用户所选择的按钮。下面详细介绍一下相关属性。
CancelEventArgs.Cancel属性用来获取或设置指示是否应取消事件的值。其语法格式如下:
public bool Cancel { get; set; }
l 属性值:如果应取消事件,则为True;否则为False。
实现过程
(1)创建一个项目,将其命名为QueryClose,默认窗体为Form1。
(2)主要程序代码。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//当单击“是”时
if (MessageBox.Show("将要要关闭窗体,是否继续?", "询问", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
e.Cancel = false; //不取消事件的值
}
else当单击“否”时
{
e.Cancel = true; //取消事件的值
}
}
- 上一篇: C#程序设计_窗体
- 下一篇: Qt实现串口通信的完整步骤
猜你喜欢
- 2025-06-17 vue2中动态组件、命令式组件和插槽有啥区别?
- 2025-06-17 C# MessageBoxButtons的简单用法
- 2025-06-17 Element UI组件替换Js confirm 方法
- 2025-06-17 如何为你的 .NET 应用程序添加自动更新功能?
- 2025-06-17 开源|一个基于QT设计串口调试工具
- 2025-06-17 从零开始学Qt(50):进阶!自定义用户名密码登录窗口
- 2025-06-17 Qt实现串口通信的完整步骤
- 2025-06-17 C#程序设计_窗体
- 2025-06-17 新手 Python 项目实战 - PyQT 篇 5.事件类型
- 最近发表
- 标签列表
-
- axure 注册码 (25)
- exploit db (21)
- mutex_lock (30)
- oracleclient (27)
- think in java (14)
- javascript权威指南 (19)
- nfs (25)
- componentart (17)
- yii框架 (14)
- springbatch (28)
- oracle数据库备份 (25)
- iptables (21)
- 自动化单元测试 (18)
- python编写软件 (14)
- dir (26)
- connectionstring属性尚未初始化 (23)
- output (32)
- panel滚动条 (28)
- centos 5 4 (23)
- sql学习 (33)
- dfn (14)
- http error 503 (21)
- pop3服务器 (18)
- 图表组件 (17)
- android退出应用 (21)