实现效果:
点击button1,隐藏主窗体,并显示子窗体
点击button2,关闭子窗体,显示主窗体
操作步骤:
在主窗体(Form1)创建button1,子窗体(Form2)创建button2
方法一
private void button1_Click(object sender, EventArgs e){// button1点击事件this.Hide();Form2 f = new Form1();if (f.ShowDialog() == DialogResult.OK){this.Show();}}private void button2_Click(object sender, EventArgs e){// button2点击事件this.DialogResult = DialogResult.OK;}
但是这样存在一个问题,如果在子窗体关闭该窗体,则不会显示主窗体,使得最终什么也不显示,看起来像是程序关闭了,实际上程序并没有释放所有资源。因此引入方法二。
方法二
private void button1_Click(object sender, EventArgs e){// button1点击事件this.Hide();new Form2().Show();}private void button2_Click(object sender, EventArgs e){// button2点击事件Application.Restart(); // 重启该程序}private void Form1_FormClosing(object sender, FormClosingEventArgs e){// 窗体关闭事件System.Environment.Exit(0);}