- ベストアンサー
Forms( )の使い方を教えて下さい。
Forms()の使い方が良く分かりません。 1つのフォームから複数のフォームを簡略して操作したいのですが、 Forms(?)の?の部分が分かりません。インデックス番号?名称? (例) For i = 0 To 4 Forms(i).Label1.Caption = "AAA" Next i Forms(?)の?は作成した順番だと思っていましたが、違いました。 各フォーム?の部分の調べ方と変更方法が有りましたらご教授願います。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
MSDNでは下記のように解説されているので、Loadされた順番です。 また、LoadしてないFormはFormsに含まれないようです。 (例) Load Form1 Load Form2 Load Form3 とした場合、Forms(2)はForm3を指します。 Formsコレクションは、アプリケーションにロードされている各フォームを表す要素を持つコレクションです。 Forms コレクションのプロパティは、コレクション上の要素の数を指定する Count プロパティだけです。 Forms コレクションを使って、アプリケーションにロードされているすべてのフォームを参照することができます。 このコレクションでは、どこからでも参照できる組み込み変数 Forms が使用できます。 Forms(index) は、Form クラスの引数として関数に渡すことができます。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
バージョンを書かないと。 VB.NETかVB6.0か。 VB6らしいが。コントロール配列のことでは。 ただしVB6準拠のVBAでも使えない。 Googleで「コントロール配列」で照会して勉強のこと。たくさん記事が出る。
お礼
回答有難うございます。 失礼しました VB6.0です。 (例)の場合 For Each の方が適切でした^^; コントロール配列を勉強中にForms()でつまづきました。 もう少し勉強してみます。
- n-jun
- ベストアンサー率33% (959/2873)
VB6.0で良いのでしょうか? 例えばこんな感じの事? Dim f As Form For Each f In Forms f.Label1.Caption = "AAA" Next
お礼
回答有難うございます。 失礼しました VB6.0です。 (例)の場合 For Each の方が適切でした^^; Forms()の使い方も分かりましたらお願いします。
お礼
回答有難うございます。 >MSDNでは下記のように解説されているので、Loadされた順番です。 >また、LoadしてないFormはFormsに含まれないようです。 なるほど、Loadされた順番なんですね。 Countした時に数が合わなかったりForms(?)の?順序が違うのはこのためでした。 分かりやすい回答有難うございました。