dポイントプレゼントキャンペーン実施中!

Forms()の使い方が良く分かりません。
1つのフォームから複数のフォームを簡略して操作したいのですが、
Forms(?)の?の部分が分かりません。インデックス番号?名称?

(例)
For i = 0 To 4
Forms(i).Label1.Caption = "AAA"
Next i

Forms(?)の?は作成した順番だと思っていましたが、違いました。
各フォーム?の部分の調べ方と変更方法が有りましたらご教授願います。

A 回答 (3件)

MSDNでは下記のように解説されているので、Loadされた順番です。


また、LoadしてないFormはFormsに含まれないようです。
(例)
Load Form1
Load Form2
Load Form3
とした場合、Forms(2)はForm3を指します。


Formsコレクションは、アプリケーションにロードされている各フォームを表す要素を持つコレクションです。
Forms コレクションのプロパティは、コレクション上の要素の数を指定する Count プロパティだけです。

Forms コレクションを使って、アプリケーションにロードされているすべてのフォームを参照することができます。
このコレクションでは、どこからでも参照できる組み込み変数 Forms が使用できます。
Forms(index) は、Form クラスの引数として関数に渡すことができます。
    • good
    • 0
この回答へのお礼

回答有難うございます。
>MSDNでは下記のように解説されているので、Loadされた順番です。
>また、LoadしてないFormはFormsに含まれないようです。
なるほど、Loadされた順番なんですね。
Countした時に数が合わなかったりForms(?)の?順序が違うのはこのためでした。
分かりやすい回答有難うございました。

お礼日時:2009/08/21 10:46

バージョンを書かないと。


VB.NETかVB6.0か。
VB6らしいが。コントロール配列のことでは。
ただしVB6準拠のVBAでも使えない。
Googleで「コントロール配列」で照会して勉強のこと。たくさん記事が出る。
    • good
    • 0
この回答へのお礼

回答有難うございます。
失礼しました VB6.0です。
(例)の場合 For Each の方が適切でした^^;
コントロール配列を勉強中にForms()でつまづきました。
もう少し勉強してみます。

お礼日時:2009/08/21 10:31

VB6.0で良いのでしょうか?



例えばこんな感じの事?
Dim f As Form

For Each f In Forms
f.Label1.Caption = "AAA"
Next
    • good
    • 0
この回答へのお礼

回答有難うございます。
失礼しました VB6.0です。
(例)の場合 For Each の方が適切でした^^;
Forms()の使い方も分かりましたらお願いします。

お礼日時:2009/08/21 10:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!