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