说起winform程序中窗体之间的参数互传,大家找度娘会找到很多方法:
1、在窗体类中创建全局变量,类型为公开、静态的;
2、在窗体类中定义狗仔函数;
3、通过实践来船体参数;
这三种思路完全来自于霖小屋的c# winform窗体之间传递参数问题总结,大家可以看看他的这篇博客学习学习。
下面我要给大家说的一种方法相对来说有点繁琐,但对于winform程序初学者来说绝对的受用。之前在度娘上寻找winform窗体的显示与隐藏受到点启发,本来winform程序创建新的窗体的时候是不带参数的,为了能够在关闭这个窗体打开主窗体,在创建新的窗体时传入主窗体变量,在新建的窗体中用一个变量接收,这样新窗体中的变量就相当于主窗体对象,就可以访问主窗体类中定义的方法和控件的值及属性,也可以做进一步的修改,这种方法传值不是指主窗体中的某个变量或值,而传值是在创建窗体的时候传主窗体类对象,可能你们还听得云里雾里的,给大家附上一段代码,大家就能明白了。
private Form1 returnForm1 = null; public Form2(Form1 F1) { InitializeComponent(); // 接受Form1对象 this.returnForm1 = F1; } private void Form2_FormClosing(object sender, FormClosingEventArgs e) { //在创建窗体Form2是传入Form1类对象,这样就可以访问主窗体Form1中的方法 和以及控件的值和属性 this.returnForm1.Visible = true; //恢复Form1 returnForm1.DateViewDetails();//加载运行线路信息 returnForm1.showStation();//首末站数据加载 returnForm1.ComboBoxDetails();//掉电恢复区comboBox数据加载 returnForm1.showStation();//显示首末站 }
原文:http://www.cnblogs.com/hexiaobao/p/7932064.html