-1

我有一个字符串变量 SuppCode,我在 Form1 中分配了它。我想在 Form2 的 Switch 语句中使用这个变量。我试过使用public string SuppCode;,但我仍然The name 'Switch' does not exist in the current context error在开关中得到一个。我需要更改哪些内容才能使用 SuppCode Form2?

4

1 回答 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 回答