Indexがプロパティにありません


laputart  2006-03-28 13:30:01  No: 94784

VB2005ExpressEditionを購入しました。VB6で使用できたコントロールのIndexプロパティが使えません。これはStandardEditionとの違いでしょうか?よろしくお願いします


我龍院忠太  2006-03-28 16:20:35  No: 94785

VB6で愛用(?)してきたコントロールの配列は、
VB.NETではもはや使用出来ません、代わりに
オブジェクトの配列を使います。


魔界の仮面弁士  2006-03-28 18:17:40  No: 94786

複数のコントロールのイベントを束ねる場合には、
    Sub Foo(ByVal sender As Object, ByVal e As EventArgs _
        ) Handles Button1.Click, PictureBox1.Click
のようにして、異なる種類のコントロールさえもまとめられるように
なったため、コントロール配列自体が不要になっています。
(イベント引数の sender に、処理対象となったコントロールが渡される)

また、For 〜 Next 等で連続処理したい場合には、我龍院忠太さんが
書かれた様に、予め、それらのコントロールを配列やコレクションに
入れておけば済む話なので、実際にはさほど手間はかからないと思います。

それと、VB6のコントロール配列は、Load / Unload ステートメントによって
実行時にコントロール数を増減できましたが、VB.NET では、あらゆる
コントロールを実行時に生成/破棄できるようになったため、この点からも
コントロール配列が不要という事になっています。

# VB6 のコントロール配列は、WithEvents と併用できないという、
# 厄介な問題があったため、クラス等で処理する場合の妨げになって
# いましたが、VB.NET ではそういう心配も無くなったという事で。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加