コントロール配列を実行時に作るには?

解決


hiro  2002-08-07 14:06:02  No: 75952  IP: [192.*.*.*]

フォーム上のフレームにテキストボックスやラベルを配置するのを
実行時に分かる項目数に応じて作成しようと思っています。
ただ、後々の処理を考えてコントロール配列にしたいのですが、
識別名が同じになってしまい。
「その名前は既に使われています」というエラーになってしまいます。

今の処理は、下記のような感じです。
For i = 1 To 2 
   Me.Controls.Add "VB.CommandButton", "cmdA", frame1
   Form1!cmdA.Move 240 + i * 1080, 240, 1050, 375
   Form1!cmdA.Visible = True
Next i
フレーム上にコントロール配列を作る方法があったら教えて下さい。

編集 削除
Say  2002-08-07 15:29:15  No: 75953  IP: [192.*.*.*]

たとえば、あらかじめこっそりcmdAという名の
CommandButtonを作って、Indexを0にしておき、

Dim i As Long
For i = 1 To 2
    Load cmdA(i)
    Set cmdA(i).Container = Frame1
    cmdA(i).Move 240 + i * 1080, 240, 1050, 375
    cmdA(i).Visible = True
Next

とか・・・。

編集 削除
hiro  2002-08-07 16:31:55  No: 75954  IP: [192.*.*.*]

Sayさん有難うございました。
Set cmdA(i).Container = Frame1
のことに気づきませんでした。
Me.Controls.Addは、使わなくても出来たんですね。
ほんとに助かりました。
ありがとうございました。

編集 削除