c#里面如何显示下一个窗体而关闭当前窗体?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#里面如何显示下一个窗体而关闭当前窗体?相关的知识,希望对你有一定的参考价值。

参考技术A 主窗口关闭的话,主线程就结束了,当让整个程序就退出了。你可以有两种方法处理:1.不使用主窗口,把原来的主窗口做成子窗口,在主窗口的构造函数中将窗口的属性Visible设为false,或者调用下Show方法设为隐藏,再添加初始化事件,new个子窗口对象,调用ShowDialog什么的把子窗口显示出来。2.调用Show(false)方法把主窗口隐藏而不直接关闭

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

以上是关于c#里面如何显示下一个窗体而关闭当前窗体?的主要内容,如果未能解决你的问题,请参考以下文章

c#如何实现关闭当前窗体并打开另一个已经创建的窗体。

C#如何让鼠标停在一个窗体的时候弹出另一个窗体

C#子窗体实现主窗体的刷新

c#如何单击按钮显示另一个窗体?

C#如何让控件一直在窗体中间显示

c#如何单击按钮显示另一个窗体