C#关闭当前窗体切换到另一窗体

时间:2021-07-12 23:51:46
代码如图
窗体虽然隐藏了,但是将第二个窗体缩小后,还能看到第一个窗体。我第二个窗体比第一个窗体大,因此切换回去的时候,第二个窗体还能看到。
窗体我进行了改动,用了第三方控件
怎么样才能让窗体消失,缩小另一个窗体也看不到。close试了不行 C#关闭当前窗体切换到另一窗体

16 个解决方案

#1



改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          

#2


引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

#3


看不懂你的意思

#4


引用 3楼以专业开发人员为伍 的回复:
看不懂你的意思
两个窗口form1、form2。点击form1按钮切换到form2,用图片代码能切换,但是form1没关闭还在屏幕上、怎么让切换后form1不在屏幕上显示

#5


引用 2 楼 loveqise 的回复:
Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

我的哥,整个程序就一个主线程,你把线程关掉还能进行弹出第二个窗口么?
 Form frm = new Form();
            frm.Show();
            this.Hide();
没毛病。

#6


楼上说的正确

#7


引用 2 楼 loveqise 的回复:
Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

你自己把那句加上去呗

#8


引用 5楼道潯常 的回复:
Quote: 引用 2 楼 loveqise 的回复:

Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

我的哥,整个程序就一个主线程,你把线程关掉还能进行弹出第二个窗口么?
 Form frm = new Form();
            frm.Show();
            this.Hide();
没毛病。
这样在后台,程序会一直在,要用任务管理器关闭

#9


引用 6楼AnotherGrank 的回复:
楼上说的正确
这样在后台,程序会一直在,要用任务管理器关闭

#10


引用 7楼喵-小黑 的回复:
Quote: 引用 2 楼 loveqise 的回复:

Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

你自己把那句加上去呗
加上就闪退了

#11


引用 10 楼 loveqise 的回复:
Quote: 引用 7楼喵-小黑 的回复:
Quote: 引用 2 楼 loveqise 的回复:

Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

你自己把那句加上去呗
加上就闪退了

昂,那我也不懂你的意思了。。

#12


引用 5 楼 qq_17486399 的回复:
Quote: 引用 2 楼 loveqise 的回复:

Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

我的哥,整个程序就一个主线程,你把线程关掉还能进行弹出第二个窗口么?
 Form frm = new Form();
            frm.Show();
            this.Hide();
没毛病。

不知道他要干啥了。

#13


做两个程序不行吗???

#14


引用 13楼kunbrother 的回复:
做两个程序不行吗???
两个程序不能切换啊

#15



Form2 frm = new  Form2();
this.Hide();
frm.ShowDialog();
this.close();

#16


引用 15楼Joey_Z_ 的回复:

Form2 frm = new  Form2();
this.Hide();
frm.ShowDialog();
this.close();
nice,手机端不能结分吗?总是找不到

#1



改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          

#2


引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

#3


看不懂你的意思

#4


引用 3楼以专业开发人员为伍 的回复:
看不懂你的意思
两个窗口form1、form2。点击form1按钮切换到form2,用图片代码能切换,但是form1没关闭还在屏幕上、怎么让切换后form1不在屏幕上显示

#5


引用 2 楼 loveqise 的回复:
Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

我的哥,整个程序就一个主线程,你把线程关掉还能进行弹出第二个窗口么?
 Form frm = new Form();
            frm.Show();
            this.Hide();
没毛病。

#6


楼上说的正确

#7


引用 2 楼 loveqise 的回复:
Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

你自己把那句加上去呗

#8


引用 5楼道潯常 的回复:
Quote: 引用 2 楼 loveqise 的回复:

Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

我的哥,整个程序就一个主线程,你把线程关掉还能进行弹出第二个窗口么?
 Form frm = new Form();
            frm.Show();
            this.Hide();
没毛病。
这样在后台,程序会一直在,要用任务管理器关闭

#9


引用 6楼AnotherGrank 的回复:
楼上说的正确
这样在后台,程序会一直在,要用任务管理器关闭

#10


引用 7楼喵-小黑 的回复:
Quote: 引用 2 楼 loveqise 的回复:

Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

你自己把那句加上去呗
加上就闪退了

#11


引用 10 楼 loveqise 的回复:
Quote: 引用 7楼喵-小黑 的回复:
Quote: 引用 2 楼 loveqise 的回复:

Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

你自己把那句加上去呗
加上就闪退了

昂,那我也不懂你的意思了。。

#12


引用 5 楼 qq_17486399 的回复:
Quote: 引用 2 楼 loveqise 的回复:

Quote: 引用 1楼喵-小黑 的回复:

改成
           Form frm = new Form();
            frm.Show();
            this.Hide();

            this.Hide();
            Form frm = new Form();
            frm.ShowDialog();
          
这样线程关闭不了

我的哥,整个程序就一个主线程,你把线程关掉还能进行弹出第二个窗口么?
 Form frm = new Form();
            frm.Show();
            this.Hide();
没毛病。

不知道他要干啥了。

#13


做两个程序不行吗???

#14


引用 13楼kunbrother 的回复:
做两个程序不行吗???
两个程序不能切换啊

#15



Form2 frm = new  Form2();
this.Hide();
frm.ShowDialog();
this.close();

#16


引用 15楼Joey_Z_ 的回复:

Form2 frm = new  Form2();
this.Hide();
frm.ShowDialog();
this.close();
nice,手机端不能结分吗?总是找不到