- ベストアンサー
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でも使用できるのでしょうか?
- みんなの回答 (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)
formA内でformB型の変数testのメンバ変数m_fooに代入した"分かりません"をformC,formD,FormEでも参照したいということでしょうか? その場合、formC,formD,formEに、formA内で宣言している変数testを渡してやらなければ駄目です。 また、formAでformB.m_foo = "分かりません"とすれば、取りあえずご希望の動作はするとは思います。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 ANS = formB.m_foo じゃなくて、 ANS = test.m_foo じゃないんでしょうか。 "分かりません"を代入したのは、formBではなくて、testのm_fooですから