C# 如何从A类到B类访问设置值
我有a班和B班 A类有:C# 如何从A类到B类访问设置值,c#,winforms,C#,Winforms,我有a班和B班 A类有: public int ID { get; set; } 当运行程序时,一个值被分配给ID ex:123,当窗体关闭并设置默认值(即=0)时,该值被销毁 问题:在B类中的值被销毁之前,我如何保存它? 这样我就可以访问B类中的值并执行验证。让我假设A类和B类是赢的形式,您从B打开A。以A的形式编写,方法如下: public int GetInput(){ Show(); return ID; } 同样在A的构造函数中,写下以下行 pu
public int ID
{
get;
set;
}
当运行程序时,一个值被分配给ID ex:123,当窗体关闭并设置默认值(即=0)时,该值被销毁
问题:在B类中的值被销毁之前,我如何保存它?
这样我就可以访问B类中的值并执行验证。让我假设
A类
和B类
是赢的形式,您从B
打开A
。以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
的值,我相信可观察的模式可以帮助您。使用下一个链:主线程(如果winforms为窗体)在关闭前将事件发送给A,在销毁前将事件发送给B。您可以使用OnClosed事件
基本上,B类学生可以做如下工作:
form.OnClosed += (sender, e) => {
var id = form.ID;
//Do something with the ID
}
希望有帮助。这个问题有点含糊不清。您是在问如何将一个对象的属性设置为另一个对象的属性值,还是如何跨窗体生命周期保存数据?您的问题相当模糊。你能再提供一点代码来说明你的意思吗?写得很糟糕,很可能他/她是在他/她的第一个作业中:)看看他的其他问题。。。