我有一个字符串变量 SuppCode,我在 Form1 中分配了它。我想在 Form2 的 Switch 语句中使用这个变量。我试过使用public string SuppCode;
,但我仍然The name 'Switch' does not exist in the current context error
在开关中得到一个。我需要更改哪些内容才能使用 SuppCode Form2?
问问题
45 次
1 回答
1
Form1 是 Form2 的所有者吗?我的意思是,你使用 instanceOfForm2.Show(instanceOfForm1); 或 instanceOfForm2.ShowDialog(instanceOfForm1); 显示Form2?如果是,你可以这样做:
string s = ((Form1)this.Owner).SuppCode;
从 Form2 访问您的变量
编辑: 您的表单在使用方法显示时已设置所有者:
Form1 form1 = new Form1();
Form2 form2 = new Form2()
form2.Show(form1);
//or
form2.ShowDialog(form1);
然后 form2 将 Owner 属性设置为 form1。
您还可以在 Form2 中创建自己的属性来引用您的 form1。
class Form2
{
public Form1 MyFormRef{get;set;}
public Form2(){/*...*/}
// or:
public Form2(Form1 formref)
{
this.MyFormRef = formref;
}
private string getSuppCode()
{
if(this.MyFormRef!=null)return this.MyFormRef.SuppCode;
else return null;
}
}
利用:
Form1 form1 = new Form1();
Form2 form2 = new Form2();
form2.MyFormRef = form1;
或者:
Form1 form1 = new Form1();
Form2 form2 = new Form2(form1);
于 2013-01-23T07:28:26.947 回答