C# 父子窗口共享变量的问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 07:55:16
父子窗口共享变量,均可以对变量进行读写操作。

比如:

f1是父窗口,f2是子窗口,其为MDI关系。f1有一个变量string s,其值为"Parent"。
点击f2里面的按钮,获得s的值,并显示s。

我尝试过在f1里面增加一个静态的自身引用,给出一个getS的方法供f2调用。但是结果得到NullReferenceException异常。

请求帮助,谢谢!
代码片段:

public partial class F1 : Form {
...
public static F1 f1 = null;
private string s = "Parent";
...
public F1() {
...
f1 = this;
...
}
public string S {
set {
this.s = value;
}
get {
return this.s;
}
}
}
==============================================
public partial class F2 : Form {
...
private string s = "";
public F2() {
...
this.s = F1.f1.S; -> 报NullReferenceException异常
MessageBox.Show(this.s);
...
}

}

=======================================================

定义成Public的....
this.s = F1.S

试试在f1中对f2的s赋值
在f2中设置属性GET SET

这就是子窗体向父窗体传值吧,在子窗体中定义两个变量,父中定义一个,把父窗体中的文本框传给子窗体,子窗体中的值传向父窗体,他们两个的互换,用构造函数就可以实现了!!!

把s设置成public string s = "Parent";

然后在子窗体中写代码:
F1 frm=new F1();
用frm.s就可以调用了!!