博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#窗口禁止移动的方法
阅读量:6831 次
发布时间:2019-06-26

本文共 903 字,大约阅读时间需要 3 分钟。

1,窗口属性中有locked属性,设置为true。(在自己进行编码的时候并没能找到这个属性,貌似只能在窗口设计时进行设置,故此方法无可控性)2,窗口属性中有FormBorderStyle属性,设置为none;或者在代码中设置:Form1.ActiveForm.FormBorderStyle = FormBorderStyle.None;此时为无边框风格,窗口显灰,不可缩放不可移动。然后可以考虑对窗口的位置进行记录,让其位置不可改变即可:3,用一个point结构体记录窗口位置,在窗口的move或change事件里使其位置不变private Point point;在相应的位置设置窗口的初始位置point=this.locationprivate void Form1_Move(object sender, EventArgs e)        {            this.Location = point;        }但是这里存在一个很不友好的问题就是窗口在拖拽之后会瞬间返回原来的位置。4,通过重载消息处理实现。重写窗口过程函数(WndProc),处理窗口消息 :设置一bool变量lockframeprotected override void WndProc(ref   System.Windows.Forms.Message m)        {            if (lockframe)            {                if (m.Msg != 0x0112 && m.WParam != (IntPtr)0xF012)                {                    base.WndProc(ref   m);                }            }            else                base.WndProc(ref   m);        }

  

转载于:https://www.cnblogs.com/XuPengLB/p/8464312.html

你可能感兴趣的文章
让linux服务器支持https(安全http协议)
查看>>
Django 笔记 模型数据的读取
查看>>
02-Windows Server 2012 新特性 ---- 管理中心
查看>>
PowerShell 远程连接指定 TrustedHost
查看>>
SQL Server 2014 内存优化表(1)实现内存优化表
查看>>
PowerShell Script Analyzer, Script browser 和 Pester
查看>>
Exchange 日常管理之一:用户邮箱完全访问权限
查看>>
kickstart+pxe 实现无人值守自动安装
查看>>
Exchange server 2013(十四)WSUS部署及组策略设置(2)
查看>>
SCCM2012系列之一,SCCM2012之初步印象
查看>>
JavaScript(React Native、Node.js等)移动、服务端通吃的全栈语言
查看>>
你了解这么多万兆以太网规范吗?
查看>>
Java向前引用容易出错的地方
查看>>
一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之用户管理(1)...
查看>>
部署无需边缘提供外部访问的Lync Server前端
查看>>
最常用的四种数据分析方法
查看>>
c++学习笔记:类的若干基础问题
查看>>
ubuntu更改sso文件策略
查看>>
业务开发测试HBase之旅三:通过Java Api与HBase交互
查看>>
让ComboBox显示图片--PictureComboBox
查看>>