请问:在winform中如何在打开另一个窗口后将当前窗口关闭?

时间:2021-01-25 14:38:54
在winform中如何在打开另一个窗口后将当前窗口关闭?
这样写对不对?
InfoInput Win2=new InfoInput(this.Txt_Userid.Text);
Win2.ShowDialog();

InfoInput 为要打开的窗口

7 个解决方案

#1



 如下:在Form1中打开另一个窗口 Form2,且关闭当前窗口(Form1):

  Form2 f2=new Form2();
f2.Show();
this.Close();

     另:以上代码不能与应用程序的主入口点,即static void Main()方法在同一个类中。

 :)

#2


InfoInput构造函数为public InfoInput(string aa,WinForm xx),然后在新窗体中用
xx.Close()
注意要用Show

#3


如果按照 chNET(有神论者)所写,那么刚打开的窗体也会关闭,甚至如果在Main中,用的是Application.Run的话,整个程序也会关闭。

改进的方法,修改Main,例如:
[STAThread]
static void Main() 
{
Form1 myForm1=new Form1();
myForm1.ShowDialog();
Form2 myForm2=new Form2();//还可以加入标志,来决定是否创建Form2
myForm2.ShowDialog();
}

#4


如果用ShowDialog()打开窗口后,是不能对父窗体操作的,不知道如何关闭

如果用 show()打开窗体,this.Close()会关闭所有弹出窗体,如果打开另一个窗口后将当前窗口关闭最好用  this.show(),其实这样做,父窗体并没有正真的关闭,只是隐藏

#5


楼上的方法可以

#6


this.hide();

#7



 to:Knight94(愚翁)“那么刚打开的窗体也会关闭,甚至如果在Main中,用的是   Application.Run的话,整个程序也会关闭。”

    我说的是“以上代码不能与应用程序的主入口点在一起,即static void Main()方法"不"在Form1中",如我所示不会出现你说的情况,你可以试一试。

 :)

#1



 如下:在Form1中打开另一个窗口 Form2,且关闭当前窗口(Form1):

  Form2 f2=new Form2();
f2.Show();
this.Close();

     另:以上代码不能与应用程序的主入口点,即static void Main()方法在同一个类中。

 :)

#2


InfoInput构造函数为public InfoInput(string aa,WinForm xx),然后在新窗体中用
xx.Close()
注意要用Show

#3


如果按照 chNET(有神论者)所写,那么刚打开的窗体也会关闭,甚至如果在Main中,用的是Application.Run的话,整个程序也会关闭。

改进的方法,修改Main,例如:
[STAThread]
static void Main() 
{
Form1 myForm1=new Form1();
myForm1.ShowDialog();
Form2 myForm2=new Form2();//还可以加入标志,来决定是否创建Form2
myForm2.ShowDialog();
}

#4


如果用ShowDialog()打开窗口后,是不能对父窗体操作的,不知道如何关闭

如果用 show()打开窗体,this.Close()会关闭所有弹出窗体,如果打开另一个窗口后将当前窗口关闭最好用  this.show(),其实这样做,父窗体并没有正真的关闭,只是隐藏

#5


楼上的方法可以

#6


this.hide();

#7



 to:Knight94(愚翁)“那么刚打开的窗体也会关闭,甚至如果在Main中,用的是   Application.Run的话,整个程序也会关闭。”

    我说的是“以上代码不能与应用程序的主入口点在一起,即static void Main()方法"不"在Form1中",如我所示不会出现你说的情况,你可以试一试。

 :)