c# winform 菜鸟求助!大虾帮帮我

来源:百度知道 编辑:UC知道 时间:2024/05/25 14:36:18
在form1中调用GetI(),跳转到form2,在form2中访问i,怎么得不到4呢?
class class1
{
public int i;
public void GetI()
{
int i=4;
}
}
我想把form1的结果,保存下来,让别的窗体用,该怎么写呢
我写错了,是 i=4;
这个倒是好解决,把i设成static就行, 可如果是对象呢?

用构造凡属传值,实例化时传

在 form2 设置一个属性
private int _geti;
public int Geti //属性
{
get
{
return _geti;
}
set
{
_geti = value;
}
}
在form1 调用 form2 如下处理
form2 frm2 = new form2 ();
try
{
frm2.Geti =i;
form2.ShowDialog();
}
catch


finally
{
form2.Dispose();
}
这样i就传到form2了

在form1中触发Form2窗体的事件中
Form2 from2 =new Form2(int i)
form2.showdialog();
然后在Form2的构造函数中

private int i;
public Form2(int i)
{
InitializeComponent();
this.i = i;
}

对象的话你要把实例传到Form2中,或在F