打开新窗口并关闭当前的窗口的实现办法

实现打开新窗口并关闭当前的窗口,有两个窗体Form1和Form2 我想点击Form1中的一个按钮simpleButton1,打开Form2同时关闭Form1...
  
  如果Form1是主窗口。不可以close只能hide (From1是不是主窗体,在Program.cs这里Application.Run后面看出来)

private void simpleButton1_Click(object sender, EventArgs e)
{
this.Hide();
Form2 form2 = new Form2();
form2.Show();
}
  
  这样做的坏处是该程序一直不能被关闭,Form1一直占着内存。
  
  我们可以这样设置,让Form1不做主窗体,Form2做主窗体,在Program.cs中将Application.Run(new Form1());改为Application.Run(new Form2());
  
  在Form2中加个

private void Form2_Load(object sender, EventArgs e)
{
Form1 form1 = new Form1();
form1.ShowDialog();
}

  在Form1中

private void simpleButton1_Click(object sender, EventArgs e)
{
this.Close();
}
  就可以了~~~这样,程序就能够被关闭,其实Form1就相当于一个登陆窗口,如果对用户输入验证成功,则关闭该登陆窗口,显示主程序Form2.
原文地址:https://www.cnblogs.com/runy/p/1543788.html