写一个关于winform窗体间的关系
1、登陆,思路:登陆后隐藏登陆窗体,关闭Form2时结束整个应用程序。
//登陆窗体
private void button2_Click(object sender, EventArgs e)
{
Form2 fr = new Form2();
this.Visible = false;//隐藏窗体
fr.Show();
}
//注册一个关闭时结束程序的事件,FormClosing
private void Form2_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
Application.Exit();//结束整个程序
}
2、通过Form2关闭,已经打开的Form3窗体。
1,创建一个Class类
public static class Class1
{
public static Form3 f3;//存form3
}
2,在form3加载时,将class类中的f3赋值
private void Form3_Load(object sender, EventArgs e)
{
Class1.f3 = this;//将form3的对象放在class类中
}
3,在form2中直接关闭class中的f3即可关闭Form3
private void button4_Click(object sender, EventArgs e)
{
Class1.f3.Close();//关闭Form3
}
3、通过打开的form2刷新已经开启的form4(其实直接在2的基础上加了个关闭再打开)
private void button2_Click(object sender, EventArgs e)
{
Class1.f4.Close();//先关闭form4
Form4 fr = new Form4();
fr.Show();//再打开form4
}
上图: