2010/10/13(Wed) 14:41:48 編集(投稿者)
■No54316 (uooono さん) に返信
> ただ自動コンバートの結果、このコントロール配列が違うオブジェクト名としてコンバートされています。
> 同じ名前にしてコントロール配列にしようにもエラーとなります。
> vb.netではコントロール配列という概念がなくなったのですか?
vb6のような実装は出来ません。
vb.netでは配列とかリスト(2005以降)とかを使います。
'--- 変数宣言(クラス変数として定義)
private m_lstList() as ListView '--- @
or
private m_lstList as List(of ListView) '--- A
'--- 初期化(New等で実行)
'--- @の場合
m_lstList= new ListView() {ListView1, ListView2, ListView3}
'--- Aの場合
m_lstList = new List(of ListView)
m_lstList.add(ListView1)
m_lstList.add(ListView2)
m_lstList.add(ListView3)
'--- イベント割当(New等で実行)
For each lvwTmp in m_lstList
AddHandler lvwTmp.Click, Addressof lstvTest_Click
Next lvwTmp
'--- イベント定義(Handlesは不要)
Private Sub lstvTest_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim lvwTmp as ListView = Directcast(sender, ListView)
・・・・
End Sub
こんな感じです。