winform屏蔽Alt+F4组合键以防止用户关闭对话框,屏蔽Alt + F4的方法有很多,这里列出了一个比较简单而奏效的方法。

1. 捕获窗体的KeyDown事件

  给窗体添加KeyDown事件,然后加入下面的代码:

1 private void Form2_KeyDown(object sender, KeyEventArgs e)
2 {
3     if (e.KeyCode == Keys.F4 && e.Modifiers == Keys.Alt)
4     {
5         e.Handled = true;
6     }
7 }

  代码中判断当前用户是否按下了Alt + F4组合键,如果是则执行e.Handled = true用于指示事件已经被成功执行,从而屏蔽了系统的Alt + F4功能。

2. 改写窗体的Closing事件

  给窗体添加Closing事件,然后加入下面的代码:

1 public void Form2_FormClosing(object sender, FormClosingEventArgs e)
2 {
3     e.Cancel = true;
4 }

  当窗体被关闭时(用户点击窗体右上角的关闭按钮或通过程序调用窗体的Close()方法)关闭动作会被取消,那么如何才能通过程序来关闭窗体呢?可以在关闭窗体的代码前去掉窗体的Closing事件,如:

1 this.FormClosing -= new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);

2 this.Close();

  当然,你也可以选择不关闭窗体而只是隐藏它,这样该窗体不会在内存中被注销。上面两行代码只能在窗体内部运行,如果你想实现在父窗体中通过程序关闭子窗体,可以在子窗体中添加一个public类型的方法,将上面两行代码加入到方法中,然后在父窗体中调用子窗体的这个方法。如:

主窗体:

1 Form2 frm = new Form2();
2 frm.CloseWindow();

子窗体:

1 private void Form2_FormClosing(object sender, FormClosingEventArgs e)
 2 {
 3     e.Cancel = true;
 4 }
 5
 6 public void CloseWindow()
 7 {
 8     this.FormClosing -= new FormClosingEventHandler(this.Form2_FormClosing);
 9     this.Close();
10 }

3. 调用COM组建或全局钩子

  这类方法需要借助于第三方的代码来实现,过程稍微复杂一些,不太推荐使用

本文来自: IT知道网(http://www.itwis.com/) 详细出处参考:http://www.itwis.com/html/net/winform/20110518/10311.html

转载于:https://www.cnblogs.com/wbcms/archive/2012/01/14/2322314.html

winform屏蔽Alt+F4组合键以防止用户关闭对话框相关推荐

  1. Qt 屏蔽Alt + F4 组合键

    Qt 屏蔽Alt + F4 组合键 2017年11月16日 10:10:29 linuxwuj 阅读数 2006更多 分类专栏: qt 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版 ...

  2. VB怎样屏蔽 Alt+F4键

    怎样屏蔽 Alt+F4键 以下代码在模块------------ 程序代码: 'http://baidu.bhdata.com '石陆软件屋 Public Declare Sub mouse_even ...

  3. 屏蔽 Alt+F4 和 Escape 键

    近日写个程序,后台线程执行时需要显示个进度窗口,而这个窗口我又不希望用户自己关闭,所以想办法要屏蔽 Alt+F4 和 Escape 这两个消息. 一般情况下,马上想到的就是处理 WM_KEYDOWN ...

  4. 屏蔽Alt+F4等快捷键

    屏蔽Alt+F4等快捷键: <script> function KeyDown(){ //屏蔽鼠标右键.Ctrl+n.shift+F10.F5刷新.退格键 //alert("AS ...

  5. Windows 2008系统如何取消Ctrl+Alt+Delete组合键登录

    如何取消登录时要按Ctrl+Alt+Delete组合键登录呢? 教你方法如下: 点桌面任务栏的"开始-->运行"在弹出的窗口中输入gpedit.msc . 输入gpedit. ...

  6. 禁用Alt + F4关闭窗体的一些常用方法

    我在"多线程:C#.NET中使用BackgroundWorker在模态对话框中显示进度条"一文中介绍了如何创造一个能实时显示程序处理进度的对话框,为了让该对话框看起来更加逼真,除了 ...

  7. 能够关闭并退出计算机程序的是,电脑强制关闭程序按哪三个键 可按Alt+F4关闭当前页面...

    导读:说到程序,大多数人都知道,有人问电脑突然死机强制关机打不开,还有朋友想问电脑强制关闭程序按哪三个键,这到底是咋回事?事实上电脑qq怎么强制关闭呢,今天小编给大家整理了电脑强制关闭程序按哪三个键, ...

  8. 关于ctrl组合键,你知道多少?

    Ctrl键是键盘上常用的按键,是Windows按键大家庭中的一员.Ctrl是Control单词的缩写,意为"控制",被称为"控制键".与Ctrl键组合而成的快捷 ...

  9. Windows-常用快捷键、组合键

    文章目录 前言 一.打开运行窗口 二.复制 三.粘贴 四.剪切 五.多选 六.全选 七.软件用户指南 八.大小写转换 九.切换桌面 十.输入法切换 十一.窗口切换 十二.笔记本键盘灯 十三.刷新桌面 ...

最新文章

  1. (How to) Call somatic mutations using GATK4 Mutect2
  2. 【数据挖掘知识点四】参数估计
  3. zx1 android版本,蔡司发布全画幅卡片机ZX1:安卓系统 内置Lightroom
  4. docker多个容器一起打包_详解Docker 容器基础系统镜像打包
  5. MySQL:查询条件
  6. 按一个按钮会随机死人_《饥荒》那些年坑爹的随机地图,最后一个简直笑死人...
  7. 问题 L: A+B Problem (IV) : Input/Output Practice 山东科技大学OJ C语言
  8. npm,yarn对比
  9. 中国地图经纬度范围,用多个矩形表示大致范围
  10. Linux 共享文件夹
  11. 2022国内十大工业级三维视觉引导企业一览
  12. 阅读笔记4:基于运动想象的脑机接口系统模式识别算法研究
  13. 电脑端微信多开操作方法
  14. 银行合规程序KYC、CDD、AML和TM
  15. (三)基础网络演进、分类与定位的权衡
  16. calipso是什么意思_library是什么意思_library的翻译_音标_读音_用法_例句_爱词霸在线词典...
  17. 面向对象程序设计中对抽象的理解
  18. 有个程序猿很忧桑:一个命令rm -rf/ ,他把整个公司删没了...
  19. RAM 大全-DRAM, SRAM, SDRAM的关系与区别
  20. 【解决方案 二十六】DateGrip一键生成DML语句用于上线

热门文章

  1. 26、Nerfies:Deformable Neural Radiance Fields
  2. python归并算法_python归并算法
  3. 关于如GMail等邮箱每天可发送邮件量额度的问题
  4. 第七次人口普查数据背后的玄机,你看懂了吗?
  5. 第四章第十一节数据资产盘点-设计数据资产标签
  6. Springboot整合Mybatis报错大集合(保姆式排错)
  7. syscall 系统调用
  8. 使用cmake宝葫芦炼化Opencv第一丹
  9. 日常使用的Scalaz功能第2部分:Monad变形金刚和Reader Monad
  10. 数据分析:大数据环境安装(docker+docker-compose+spark+hadoop+hive)