WINFORM如何去掉窗体上的关闭按钮?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WINFORM如何去掉窗体上的关闭按钮?相关的知识,希望对你有一定的参考价值。

把ControlBox设置为fasle就行了追问

是哦,高手,THS

参考技术A 网上搜的.
重写窗体的CreateParams方法:

//禁用窗体的关闭按钮
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;

追问

这个没有试哦,同样感谢你的回答

参考技术B Form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;追问

这一点是可以,但对应的标题栏没有了,还要自己写代码增加窗体拖动功能及虚拟标题等...不过楼上的更比较适用我.谢谢

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”也能关闭。

以上是关于WINFORM如何去掉窗体上的关闭按钮?的主要内容,如果未能解决你的问题,请参考以下文章

winform单击按钮重新加载本窗体

如何在winform按钮事件中用线程打开一个窗口,最后在finally中给隐藏和关闭,也就是做简单的等待窗口效果

C# winform 点击一个按钮退出窗体 并关闭相应的进程

高难的WINFORM问题在窗体里点击关闭按钮把窗体隐藏而不是关闭

DELPHI中如何使窗体的关闭按钮失效

winform点按钮弹出一个窗体,然后上一个窗体关闭,怎么实现?