C#小程序:使用API禁用窗体关闭按钮
2013-05-21 18:33
323 查看
一直忙着找工作、一直没有发布什么文章、
今天给大家带来的是一个小功能:禁用窗体右上角的关闭按钮、
看到这里、也许你会说、这不是小儿科么、直接改动窗体的Form_Closing事件不就得了、、、
当然、这只是一种方法、我今天主要讲的是使用API+句柄禁用关闭按钮、而不是使用事件让按钮失效、、、
效果图(注意看右上角的关闭按钮):
为“退出”按钮添加退出方法
在这里注意:在这里使用Application.Exit()会没有反应、
所以我在这里用的是结束当前程序进程的方式、、、
然后、运行看看效果、有点意思吧、、、
不过、Bug依然存在:当我们改变窗体模式的时候(也就是切换最大化/正常化)、、你会发现、、关闭按钮、、、竟然可以点击了(虽然点击它无反应)、、、怎么办?
如果不用切换的话、就把最大化/正常化的按钮禁用掉、
如果你的程序需要这个按钮、那就在这个窗体切换状态的事件中再次调用那两个函数、重新禁用关闭按钮就OK了、、、
好了、这次的分享就到这里了、感谢您的支持、、、
【转载请注明 原文来自:http://www.cnblogs.com/HackerGuying 尊重原创、】
今天给大家带来的是一个小功能:禁用窗体右上角的关闭按钮、
看到这里、也许你会说、这不是小儿科么、直接改动窗体的Form_Closing事件不就得了、、、
当然、这只是一种方法、我今天主要讲的是使用API+句柄禁用关闭按钮、而不是使用事件让按钮失效、、、
效果图(注意看右上角的关闭按钮):
/// <summary> /// 点击按钮结束当前应用程序的进程 /// </summary> private void btn_exit_Click(object sender, EventArgs e) { Process.GetCurrentProcess().Kill(); }
为“退出”按钮添加退出方法
在这里注意:在这里使用Application.Exit()会没有反应、
所以我在这里用的是结束当前程序进程的方式、、、
然后、运行看看效果、有点意思吧、、、
不过、Bug依然存在:当我们改变窗体模式的时候(也就是切换最大化/正常化)、、你会发现、、关闭按钮、、、竟然可以点击了(虽然点击它无反应)、、、怎么办?
如果不用切换的话、就把最大化/正常化的按钮禁用掉、
如果你的程序需要这个按钮、那就在这个窗体切换状态的事件中再次调用那两个函数、重新禁用关闭按钮就OK了、、、
好了、这次的分享就到这里了、感谢您的支持、、、
【转载请注明 原文来自:http://www.cnblogs.com/HackerGuying 尊重原创、】
相关文章推荐
- C#使用API禁用/删除程序窗体的关闭菜单和按钮
- C#使用API禁用/删除程序窗体的关闭菜单和按钮
- C#使用API禁用/删除程序窗体的关闭菜单和按钮
- 禁用窗体关闭按钮(使用GetWindowLong修改GWL_STYLE)
- c# 做的登录窗体,登录成功后当前登录Form关闭,打开Main窗体,但Main窗体点关闭按钮后程序仍在进程怎么办
- c# 做的登录窗体,登录成功后当前登录Form关闭,打开Main窗体,但Main窗体点关闭按钮后程序仍在进程怎么办
- 关于winForm窗体禁用关闭按钮的使用方法及禁用最大化、最小化窗口
- c# 禁用和启用windows form窗体上的关闭按钮
- C#禁用窗体的关闭按钮
- C# Winform 禁用窗体关闭按钮
- c# 控制台程序禁用关闭按钮完美解决
- 使用Delphi编写自动关闭Windows信使服务窗体程序
- WinForm窗体禁用关闭按钮
- 一个可以禁用USB存储设备的程序(SetupAPI的使用方法)
- C# 控制台实现关闭前的操作,并使关闭按钮无法使用
- 使C# 窗体的关闭按钮、最小化、最大化按钮不可用
- 【Java】使用JFrame监听事件创建一个复制文本功能的窗体程序与按钮快捷键
- C#窗体程序入门,实现3秒倒计时关闭显示器,实现系统托盘,右键菜单。
- Windows Forms中禁用窗体的关闭按钮
- Winform窗体关闭按钮禁用(失效)的四种方法