• ベストアンサー

public変数

formA で dim test as New fromB test.m_foo = "分かりません" と値を代入し fromB で public変数 Public m_foo as string を宣言しています その他の formC, formD, formE で formBのpublic変数m_fooを使用したい場合  例 formC 上で宣言している変数 ANS に代入したい場合    formC に ANS = formB.m_foo と記述しても上手くいきません どのように記述したら  formB で宣言しているpublic変数を他のformでも使用できるのでしょうか?     

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.3

そもそもPublic変数をフォーム内で宣言することが無意味です。 共通に持たせたいなら 1.標準モジュールに持たせる 2.フォームBにプロパティを持たせ、他のフォームからはプロパティを参照するようにする。 と行った方法が王道です。 1.については説明省略 2.について Form1の内容 Private Sub Form_Load()   Form2.Show   Me.Show      MsgBox Form2.m_foo End Sub Form2の内容 Private bFoo  As String Public Property Get m_foo() As String   m_foo = bFoo End Property Private Sub Form_Load()   bFoo = "分かりません" End Sub

その他の回答 (2)

  • don_cha
  • ベストアンサー率34% (139/407)
回答No.2

formA内でformB型の変数testのメンバ変数m_fooに代入した"分かりません"をformC,formD,FormEでも参照したいということでしょうか? その場合、formC,formD,formEに、formA内で宣言している変数testを渡してやらなければ駄目です。 また、formAでformB.m_foo = "分かりません"とすれば、取りあえずご希望の動作はするとは思います。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 ANS = formB.m_foo じゃなくて、 ANS = test.m_foo じゃないんでしょうか。 "分かりません"を代入したのは、formBではなくて、testのm_fooですから

関連するQ&A

専門家に質問してみよう