我有A班和B班
A班有:
public int ID
{
get;
set;
}
运行程序时,将一个值分配给ID ex:123并在表单关闭时销毁并设置默认值,即= 0
问题:如何在B类被摧毁之前保存它? 所以我可以让他们访问B类中的值并执行验证。
答案 0 :(得分:1)
我想假设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
的值。
答案 1 :(得分:0)
我相信Observable模式可以帮到你。使用下一个链:主线程(表格如果winforms)在结束前向A发送事件,A在销毁前向B发送事件
答案 2 :(得分:0)
您可以订阅OnClose事件。
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
}
希望它有所帮助。