我有A级和B级
A类有:
public int ID
{
get;
set;
}
运行程序时,将值分配给 ID ex:123 并在表单关闭时销毁并设置默认值,即 = 0
问题:如何在 B 类中的值被销毁之前保存它?所以我可以访问 B 类中的值并执行验证。
让我假设Class A
和Class B
是双赢形式,而您A
从B
. 以如下形式编写A
方法:
public int GetInput(){
Show();
return ID;
}
同样在A
的构造函数中写入以下行
public A()
{
Visible=false;
}
在表格B
中写下以下打开表格A
:
public void OpenA()
{
var a=new A();
var i=a.GetInput();
}
现在i
包含 的值ID
。
我相信 Observable 模式可以帮助你。使用下一条链:主线程(Form if winforms)在关闭之前向A发送事件,A在销毁之前向B发送事件
您可以订阅 OnClosed 事件。
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.onclosed.aspx
基本上,您的 B 类可以执行以下操作:
form.OnClosed += (sender, e) => {
var id = form.ID;
//Do something with the ID
}
希望能帮助到你。