C#中Winform窗体Form的关闭按钮变灰色的方法
本文实例讲述了C#中Winform窗体Form的关闭按钮变灰色的方法,对C#程序设计有一定的借鉴价值,分享给大家供大家参考之用。具体方法如下:
主要功能代码如下:
[ DllImport ( "USER32.DLL" ) ] public static extern int GetSystemMenu(int hwnd, int bRevert); [ DllImport ( "USER32.DLL" ) ] public static extern int RemoveMenu(int hMenu, int nPosition, int wFlags); /// <summary> /// 返回值,非零表示成功,零表示失败。 /// </summary> /// <param name="iHWND">窗口的句柄</param> /// <returns>是否成功</returns> public int RemoveXButton(int iHWND) { int iSysMenu; const int MF_BYCOMMAND = 0x400; //0x400-关闭 iSysMenu = GetSystemMenu(this.Handle.ToInt32(), 0); return RemoveMenu(iSysMenu, 6, MF_BYCOMMAND); } private void Form1_Load(object sender, EventArgs e) { //通过函数返回值就可以判断目的是否达到,在构造函数里面可以这样判断: int iReturn = RemoveXButton(this.Handle.ToInt32()); if (iReturn == 0) //返回值非零表示成功,零表示失败。 { MessageBox.Show("Error!"); } else { MessageBox.Show("Success!"); } }
希望本文实例对大家C#程序设计有所帮助。
相关推荐
-
WinForm实现关闭按钮不可用或隐藏的方法
本文实例演示了WinForm实现关闭按钮不可用或隐藏的方法,是C#应用程序开发中常见的功能,具体方法如下: 关键代码: /// <summary> /// </summary> private const int CP_NOCLOSE_BUTTON = 0x200; protected override CreateParams CreateParams { get { CreateParams _createParams = base.CreateParams; _createP
-
C# WinForm制作异形窗体与控件的方法
本文实例讲述了C# WinForm制作异形窗体与控件的方法.分享给大家供大家参考,具体如下: 制作异形窗体或控件的思路一般都是想办法生成一个region,然后设置给指定的窗口或控件.生成region的方法有很多,最常用的就是从一幅图片生成,把该图片中的透明色部分"抠"掉,剩下的部分作为一个region.设置窗口或控件的region可以用SetWindowRgn API,不过.NET framework封装了这个操作,在C#中只要对窗口或控件的Region属性赋值就可以了.下面我就把我在
-
WinForm中实现picturebox自适应图片大小的方法
本文实例讲述了WinForm中实现picturebox自适应图片大小的方法.分享给大家供大家参考,具体如下: picturebox控件共有两种载入图片方式,分别为: pictureBox1.BackgroundImage = Image,pictureBox1.load(url) 为使加载的图片自使用控件尺寸,可以分别对pictureBox控件设置BackGroundImageLayout=Stretch,SizeMode=StretchImagewinform中picturebox自适应图片大
-
C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法
本文实例讲述了C# Winform实现捕获窗体最小化.最大化.关闭按钮事件的方法,主要是通过重写WndProc来实现的.分享给大家供大家参考.具体方法如下: 主要功能代码如下: const int WM_SYSCOMMAND = 0x112; const int SC_CLOSE = 0xF060; const int SC_MINIMIZE = 0xF020; const int SC_MAXIMIZE = 0xF030; protected override void WndProc(ref
-
WinForm实现的图片拖拽与缩放功能示例
本文实例讲述了WinForm实现的图片拖拽与缩放功能.分享给大家供大家参考,具体如下: 最近做项目的时候遇到上传施工平面布置图,查看,因为图片比较大,一般的显示器分辨率无法显示全,然后还需要放大看清楚图片里面的文字内容,所以需要用到图片的拖拽与缩放功能.这里整理下具体操作. 首先新建一个窗体,拖一个panel控件到窗体中,然后在拖一个pictureobx控件到panel中,然后在添加个上传图片的按钮: 具体代码: using System; using System.Collections.Ge
-
c# winform取消右上角关闭按钮的实现方法
一种方法是可以在窗体的属性面板将窗体的 ControlBox属性设置为false,或者在窗体的构造函数中这样写: 复制代码 代码如下: public Form1() { InitializeComponent(); this.ControlBox = false; // 设置不出现关闭按钮 } 不过这样做的话,会连同最小化和最大化按钮都给弄掉了,所以,如果你想只想让关闭按钮不起作用,然后保留最小化.最大化的话,就重写窗体的CreateParams方法: 复制代码 代码如下: //禁用窗体的关
-
winform拦截关闭按钮触发的事件示例
用户关闭软件时,软件一般会给"是否确认关闭"的提示.通常,我们把它写在FormClosing 事件中,如果确定关闭,就关闭:否则把FormClosingEventArgs 的 Cancel 属性设置为 true,就取消了该窗体的关闭. 如果该窗体是主窗体,我们想在该窗体关闭时关闭整个应用程序,会遇到至少两种情况: (1)该窗体同时是启动窗体,即它是应用程序中所有窗体的父类,则整个应用程序会被关闭. (2)如果该窗体不是启动窗体,比如我们做了一个欢迎窗体,则应用程序中所有窗体的父类就是这
-
winform实现关闭按钮失效的两种方法
本文实例讲述了winform实现关闭按钮失效的两种方法.分享给大家供大家参考.具体如下: 第一种: 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) { return; } base.WndProc(ref
-
winform去掉右上角关闭按钮的方法
一种方法是可以在窗体的属性面板将窗体的 ControlBox属性设置为false,或者在窗体的构造函数中这样写: 复制代码 代码如下: public Form1(){InitializeComponent();this.ControlBox = false; // 设置不出现关闭按钮} 不过这样做的话,会连同最小化和最大化按钮都给弄掉了,所以,如果你想只想让关闭按钮不起作用,然后保留最小化.最大化的话,就重写窗体的CreateParams方法: 复制代码 代码如下: //禁用窗体的关闭按钮
-
WinForm实现页面按钮定时隐藏功能
本文实例讲述了WinForm实现页面按钮定时隐藏功能.分享给大家供大家参考,具体如下: 有时候在做程序时需要将页面上某一项显示出来,然后过一段时间后消失掉,这时可以通过timer定时来实现 private void Form1_Load(object sender, EventArgs e) { System.Timers.Timer t = new System.Timers.Timer(3000); t.Elapsed += new System.Timers.ElapsedEventHan
-
WinForm判断关闭事件来源于用户点击右上角“关闭”按钮的方法
本文实例讲述了WinForm判断关闭事件来源于用户点击右上角"关闭"按钮的方法.分享给大家供大家参考.具体如下: protected override void WndProc(ref Message msg) { const int WM_SYSCOMMAND = 0x0112; const int SC_CLOSE = 0xF060; if (msg.Msg == WM_SYSCOMMAND && ((int)msg.WParam == SC_CLOSE)) { /
随机推荐
- Au3截取腾讯天气的脚本
- go语言实现处理表单输入
- ASP.NET 页面中加添加用户控件的写法
- asp.net下大文件上传知识整理
- 在应用程序级别之外使用注册为allowDefinition='MachineToApplication'的节是错误的
- 基于MySQL分区性能的详细介绍
- 深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
- mysql免安装制作使用说明
- js利用for in循环获取 一个对象的所有属性以及值的实例
- 详解nodejs中的process进程
- webpack2.0搭建前端项目的教程详解
- asp MYSQL出现问号乱码的解决方法
- c++ 指针与引用的区别介绍及使用说明
- Python使用RethinkDB总结
- javascript中setInterval的用法
- 详解Android权限管理之RxPermission解决Android 6.0 适配问题
- php中删除、清空session的方式总结
- Java使用kafka发送和生产消息的示例
- 使用JS判断页面是首次被加载还是刷新
- typescript nodejs 依赖注入实现方法代码详解