日期:2014-05-20  浏览次数:20759 次

C#两窗体之间怎么传值
请教高手
C#两窗体之间怎么传值 有几种方法
谢谢

------解决方案--------------------
另一个窗体中建立Public 的属性简单例子:

class form1
{ public int a;
 
form2.b=1;
}

class form2
{
public int b;

form1.a=4;
}
------解决方案--------------------
说到底就是两个窗体的实例的引用是怎么获得并持有的问题。
1. A创建B。
1.1 A需要B的值
B类里开放属性或GetXXX(),使得A可以调用。

1.2 B需要A的值
法一:在B的构造函数里把需要的值传进去。
法二:在B的构造函数里把A整个传进去。A类里开放属性或GetXXX(),使得B可以调用。

2. A不知道B
2.1 在创建A和B的地方想办法使A知道B,然后用(1)法。
2.2 把A或B做成单件
------解决方案--------------------
1.2 B需要A的值
法三:在B的构造函数里把由A创建的Lambda表达式传进去。这样可以由A动态地决定返回什么值。