-1

Form1で割り当てる文字列変数SuppCodeがあります。この変数を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 に答える