c#中通过静态类中静态字段全局共享实现数据传递

最近在各种语言混着学,感觉自己会不会走火入魔。。。
废话不说了,今天看了winform的一个教程,主要是讲述了对与三个form对象,form1作为主窗口,从里面的button1打开form2,form2中的button2打开form3,然后在form3中的button3中关闭所有表单。这里就出现了一个问题,难道是在form3中也new一个form1对象吗,然后利用form1.close();进行关闭吗,经实验是不行的。

接下来,就看看怎么实现了,前面的两步不用说了,现在看第三步,我们就要想了,怎么样把form1的对象传递给form3呢?

首先新建一个类Class1.cs

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ChuangTiTest01
{
public static class Class1//创建静态类,实现数据全局共享
{
public static Form1 _jingTaiBianLiang;//创建form1类型的静态字段

}
}

然后在form1中添加load事件
private void Form1_Load(object sender, EventArgs e)
{
Class1._jingTaiBianLiang = this;//取得form1
}

最后在form3中实现关闭所有form
private void button1_Click(object sender, EventArgs e)
{
Class1._jingTaiBianLiang.Close();//通过静态字段关闭所有表单
}

Comments

Popular posts from this blog

Meaning of `{}` for return expression

Get current scroll position of ScrollView in React Native

React Native - Image Cache