C#中如何去除窗体默认的关闭按钮

很多时候,在winform的设计下,会遇到新建窗体时不需要用到默认的关闭按钮的情况,而是用另外设置关闭 button或其他控件来控制窗体的关闭。

之前我遇到这个问题时,问了很多朋友,都没找到方法,VS的窗体属性里也没那一项,在MSDN里也没有相关的资料。 但后来偶然发现,原来办法是很简单的,只需要在初始化窗体的时候不显示那关闭按钮就可以了。

具体方法是,加上一句 “ this.ControlBox = false;”。

如下:

public Form1()
        {
            InitializeComponent();
            this.ControlBox = false;   // 设置不出现关闭按钮
        }

而对最大最小化按钮的显示,则可以在窗体的属性项里设置即可。

另外,如果需要保留那关闭按钮的显示,但又不起作用,则可以加上几句代码屏蔽掉它,具体代码如下:

//禁用窗体的关闭按钮
        private const int CP_NOCLOSE_BUTTON = 0x200;
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams myCp = base.CreateParams;
                myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
                return myCp;
            }
        }

下面说一下几个不是只是让关闭按钮隐藏但是可以达到类似效果的方法:
     1.将ControlBox属性设为False。这种方法是让标题栏中的除了标题名以外的其他的全部隐藏,也就是把图标,最小化、最大化和关闭按钮全部隐藏。 
     2.让关闭按钮失效,方法是在事件里面找到FormCloseing事件,编辑该事件,在里面写上一条语句“e.Cancel = true;”,这样关闭按钮就失效了,按快捷键“Alt+空格+C”也关闭不了,只有用任务管理器关了,或者用一条语句(“Application.Exit();”)关闭该生成的应用程序,用“Alt+F4”也能关闭。 
     3.将FormBoderstyle属性设置为None。这种方法是将整个标题栏去掉了。这样也是用快捷键“Alt+空格+C”关闭不了,只有用任务管理器关了,或者用一条语句(“Application.Exit();”)关闭生成的该应用程序,用“Alt+F4”也能关闭。

时间: 2024-07-29 12:13:36

C#中如何去除窗体默认的关闭按钮的相关文章

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 Rem

wnmp中,mysql的默认密码修改

wnmp中,mysql的默认密码修改. 给我们的印象是,以前mysql默认密码都为空,好久没折腾这个了,今天下了个wnmp环境,mysql密码死活改不了,都想砸电脑了,结果实验出来了.... 默然密码是:password 不敢独享,赶紧贴出来,留作纪念!

Java中的几种默认

1.每个类都默认导入 import java.lang.*; 2.如果一个类没有定义构造方法,则默认提供公开无参构造方法 3.在类中,访问成员变量或成员方法,如果不加引用,默认加上"this." 4.在构造方法中,如果第一行不是"this(...)"或"super(...)" ,默认为"super();" 5.在接口中,属性默认为public static final 方法默认为public abstract 6.如果一个类没

CSS中的body的默认margin

CSS中的body的默认margin 一般浏览器中都对body标签进行默认的margin设置为8px,当然,不同的浏览器会设置成不同的值,它是由浏览器的user-agent-stylesheet提供的,有些浏览器的user-agent-stylesheet可以由用户进行修改,而有的浏览器则不可以,所以开发人员不能依靠此来修改浏览器的默认设置.如果我们要修改body的默认值,只要覆盖其css样式即可: body { margin: 0px; padding: 0px; ... } 如果要使在不同的

在配置中使用的是默认的urlnormalizer.order

关于scope可以看一下注释You can define a set of contexts (orscopes) in which normalizers may be called. Each scope can have its own list ofnormalizers (defined in "urlnormalizer.scope.<scope_name>"property) and its own order (defined in "urlnor

如何在XAF中显示自定义窗体和控件

https://www.devexpress.com/Support/Center/Example/Details/E911 如何在XAF中显示自定义窗体和控件,布布扣,bubuko.com

Andrdoid中实现静态的默认安装和卸载应用

最近好长时间都没有写blog了,主要是因为最近工作上的事以及下载Android源码的事耽误的(下载源码这件事会在后续的blog中写道,这个真的很有意义呀~~),那么今天来写点什么呢?主要的灵感来自于早上看新闻看到一篇文章说有一款应用在后台中卸载用户手机中的所有浏览器的app,不会被用户察觉,但是最后百度浏览器还是用反侦察技术找到这个邪恶的应用然后将其告上法庭了.那么我们就来看看怎么能够实现应用的静态安装和卸载呢?就是不让用户知道,下面就来一步一步的介绍一下实现步骤: 一.访问隐藏的API方式进行

【Javaweb】修改Eclipse for JavaEE中新建Jsp的默认编码,避免每次新建都要改编码的问题

Eclipse for JavaEE中新建Jsp的默认编码是ISO-8859-1, 这让人非常苦恼,每次新建一个Jsp都要按Ctrl+F,把所有ISO-8859-1替换成utf-8,才可以. 具体如下图: 这都什么年代呢?连2010出版的Dreamweaver CS4的默认编码都是utf-8,已经不是Dreamweaver 8的gbk了.这都什么年代了,Eclipse for Javaee不国际化起来? 幸好这东西可以如下图修改,选择Windows->Perference,在弹出的窗口的输入框中

如何设置eclipse中的文件的默认打开方式

如何设置eclipse中的文件的默认打开方式 打开eclipse.选择如下:windows --> preferences --> General --> Editors --> file Associations 如果列表中没有,可以点击ADD添加文件的格式. 然后在下面添加默认打开的此格式文件的应用即可,如下图: