c#中屏蔽窗体关闭的消息

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

经常能够看到这样的程式,点了关闭按扭后程式并没有关闭,而是最小化到了系统拖盘处,就像网易泡泡,MSN之类的程式。实现这个其实很简单,捕获窗体关闭时的消息就能够了。代码如下:
 protected override void WndProc(ref Message m)
        {
            const int WM_SYSCOMMAND = 0x0112;
            const int SC_CLOSE = 0xF060;
            if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
            {
                this.WindowState = FormWindowState.Minimized;
                this.Hide();
                return;
            }
            base.WndProc(ref m);
        }

 

 

C# WinForm登陆窗体 密码输入框屏蔽右键、复制、粘贴 winform 程序写的登陆密码框设计:     ----------this.textBox1.ResetText();相当于this.textBox1.Text="";this.textBox1.Focus(); 密码文本狂的输入限制主要也集中于以下两个问题: 一、密码长度的输入限制 这个和用户名的输入限制一样,直接更改txtPassword MaxLeng 阅读详情

相关推荐

C# WinForms屏蔽Alt+F4快捷键的4种实现方案与最佳实践

在Windows桌面应用开发中,窗体是用户交互的核心载体,其消息循环机制是理解系统响应的基础。通过Windows消息驱动原理,开发者可以拦截和处理特定系统事件,实现对应用行为的精细控制,这在保障数据安全和流程完整性方面具有重要技术价值。尤其在需要防止误操作或维持特定工作流的应用场景中,如信息录入系统或自助服务终端,管理窗体关闭行为成为关键需求。本文聚焦于C# WinForms框架,深入探讨如何有效屏蔽Alt+F4这一常用关闭快捷键,提供了从事件拦截到消息处理的多层次解决方案,并分析了在Kiosk模式和数据

weixin_31188927的博客 311

C# 重写WndProc 拦截 发送 系统消息 + windows消息常量值

通过重载虚函数WndProc在C#下处理Windows系统消息

C#实现屏蔽Alt+F4组合键关闭窗体(附完整源代码)

C#实现屏蔽Alt+F4组合键关闭窗体(附完整源代码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 520

Windows消息处理(系统消息) WM_QUIT、WM_DESTROY、WM_CLOSE、WM_SYSCOMMAND、WM_PAINT、WM_LBUTTONDO、WM_SIZE、WM_CREATE、

windows系统消息 WM_QUIT、WM_DESTROY、WM_CLOSE、WM_SYSCOMMAND、WM_PAINT、WM_LBUTTONDO、WM_SIZE、WM_CREATE、WM_LBUTTONDOWN

单于的学习历程 2772

关于调用隐藏窗体的问题(C#

winform中,Form.Hide()和Form.Visible =false都能使窗体隐藏,但使用Hide()隐藏的窗体目测是无法直接显示的(我尝试了很多办法都无法直接显示,必须重新加载,目测是该窗体占用的内存被释放掉了),而Visible只是让该窗体不可见,当他的值为true时该窗体为可见窗体,不需要重新加载数据。

Clam_H的专栏 1093

c# winform窗口启动时隐藏

如果想窗体完全不显示,可以设置属性 隐藏窗口用的是this.Hide();,但是在主窗口构造函数里使用并不生效。 最后发现必须在Load事件里隐藏。 private void Form_show_Load(object sender, EventArgs e) { this.BeginInvoke(new Action(() => { this.Hide(); this.Opacity = 1; })); } ...

Yyuanyuxin的博客 3562

C# 屏蔽tab 、 用Enter实现Tab功能

<br />C#中如何用Enter实现tab的功能呢?<br /> <br />C#如何是数据焦点跳到下一个输入位置,高亮选中所有文本:<br />//先按顺序设置每个控件的TabIndex属性,然后将每个控件的Key_Down事件指定到下面这个事件方法,可以实现按Enter跳到下一个控件<br />        private void numericUpDown_radius_KeyDown(object sender, KeyEventArgs e)<br />        {<br />    

Rachel Zhang的专栏 8221

C#屏蔽窗体关闭消息

经常可以看到这样的程序,点了关闭按扭后程序并没有关闭,而是最小化到了系统拖盘处,就像网易泡泡,MSN之类的程序。实现这个其实很简单,捕捉窗体关闭时的消息就可以了。代码如下: protected override void WndProc(ref Message m) { const int WM_SYSCOMMAND = 0x0112; const int

555

C#界面设计小记

客户区绘图: publicpartialclassMyForm:Form { publicMyForm() { InitializeComponent(); BackColor=Color.Red; Text="HelloWorld"; ...

weixin_34391854的博客 151

C# WndProc的使用方法 (转)

C# WndProc的使用方法 2008年11月03日 星期一 12:58 WndProc(ref Message m) protected override void WndProc(ref Message m) {     const int WM_SYSCOMMAND = 0x0112;     const int SC_CLOSE = 0xF060;     if (m...

weixin_34252686的博客 219

C#关闭一个特定的窗体(关闭特定的消息框或者普通窗体)

/* 关闭一个消息窗体 ,title是窗体的名称*/ public static void KillMessageBox(string title) { //按照MessageBox的标题,找到MessageBox的窗口 IntPtr ptr = FindWindow(null, title); ...

Johnisjohn的博客 1874

C# 主界面鼠标屏蔽(双击最大,移动窗体,最大化,最小化,关闭,还原)

将这段代码直接复制到主界面中即可 protected override void WndProc(ref Message m) { if (m.Msg == 0x112) { switch ((int)m.WParam) { //禁...

IT技术猿猴的博客 1748

C#中禁止Winform窗体关闭

在winform中,常常会控制一些关键界面不能让用户关闭,怎么做比较好呢? 在系统中默认是不能够禁用窗体关闭功能,但是,有时我们需要这种功能来屏蔽用户"随便"或不小心关闭造成的系统问题。  其实方法很简便,只要将以下一段代码添加到窗体累中就可以实现禁止窗体关闭 protected override void WndProc(ref   Message m)  { const i

斌哥的博客 4521

winform中屏蔽双击最大化或最小化窗体(C#实现),禁用任务管理器结束程序,在需要屏蔽双击窗体最大化、最小化、关闭

winform中屏蔽双击最大化或最小化窗体(C#实现),禁用任务管理器结束程序,在需要屏蔽双击窗体最大化、最小化、关闭

LongtengGensSupreme博客 605

C#WinForm 如何实现屏蔽窗口右上角的关闭操作,点击时不关闭程序

有时候,我们使用一个软件,例如QQ,当我们点击关闭按钮时,会出现提示: 但我们选择最小化到系统托盘区时,就不会退出程序。那么这个功能其实就是屏蔽关闭功能。那么我们在C# winForm中如何实现呢,实际上有两分钟办法进行处理。 【方法一】在窗体类中重写OnClosing方法,处理关闭消息         protected override void OnClosing(CancelE

学过印刷包装工程研究过食品科学且会点计算机编程的多功能码农 4927

C#窗体程序屏蔽输入法

要在WinForm中屏蔽输入法,设置以下几个要素:   1、在WinForm的InputLanguageChanging事件中添加e.Cancel = True         2、键盘事件向窗体注册(窗体属性) 注意:如果只是屏蔽系统的输入法并且还

bytxl的专栏 5792
上一篇: 托盘闪烁
下一篇: ASP.NET 2.0运行时简要分析(转)
ulark
博客等级 码龄17年 31粉丝 530原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值