C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 91 を表示中)
■54456 / )  VB6.0からVB2005へコントロール配列の移植について
□投稿者/ uooono (16回)-(2010/10/21(Thu) 13:39:09)

分類:[VB.NET/VB2005 以降] 

以前の質問でVB2005ではコントロール配列は一般的に

@ロード時にオブジェクトを配列化する
Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
lstv = New ListView() {Me.lstv1, Me.lstv2}

Aイベント割り当てを行う
For Each lstvTmp In lstv
AddHandler lstvTmp.Click, AddressOf lstv_Click

ということをshuさん、魔界の仮面弁士さんより教えていただきました。
ただ、この方法であると大量にコンバートするにはコーディング量が増え、不具合の原因になる可能性が高くなると思われます。


それ以外の方法として以下のような解説をしていただきました。

>そして VB.NET の場合、この「コントロール配列オブジェクト」を再現するため、
>Microsoft.VisualBasic.Compatibility.VB6 名前空間に、
> ButtonArray
> LabelArray
> TextBoxArray
> ListViewArray
>などといったクラスが用意されています。ただし、デザイナ側のサポートは無いため、
>これらを利用するには VB6 プロジェクトをコンバートして自動生成させたものに頼るか、
>もしくは手動で、TextBox を TextBoxArray に登録するコードを書かなければなりません。

>そのため、これらの互換クラスは、あくまで移植用の一時的な物とされています。
>http://msdn.microsoft.com/ja-jp/library/microsoft.visualbasic.compatibility.vb6%28VS.80%29.aspx

これらのArrayはどのように使用するべきか、参考リンクや検索を行ってもサンプルもないし、サイトを見つけることができませんでした。
何かよい使用方法のサンプルがあれば教えていただきたいと思います。



返信 編集キー/


管理者用

- Child Tree -