小例子(二)、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         }

 

上图:

 

小例子(二)、winform窗体间的关系