2

我有A级和B级

A类有:

public int ID
{
    get;    
    set;
}

运行程序时,将值分配给 ID ex:123 并在表单关闭时销毁并设置默认值,即 = 0

问题:如何在 B 类中的值被销毁之前保存它?所以我可以访问 B 类中的值并执行验证。

4

3 回答 3

1

让我假设Class AClass B是双赢形式,而您AB. 以如下形式编写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

于 2012-05-14T03:34:28.683 回答
0

我相信 Observable 模式可以帮助你。使用下一条链:主线程(Form if winforms)在关闭之前向A发送事件,A在销毁之前向B发送事件

于 2012-05-14T05:28:28.160 回答
0

您可以订阅 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
}

希望能帮助到你。

于 2012-05-14T05:40:09.803 回答