[VB.Net].NetではVB6の様なコントロール配列がなくなったみたいで、複数のコントロールでイベントを共有した場合どのコントロールが受け取ったイベントなのか知るには受け取ったイベントの引数のオブジェクトのタブインデックスを調べたらいいとヘルプに書いてありました。
それの応用で指定したタブインデックスのコントロールにアクセスする方法ってあるのでしょうか?よろしくお願いします。
Controlsコレクション内のコントロールのTabIndexを判定すれば
できるかと思います。
>指定したタブインデックスのコントロールにアクセスする方法ってあるのでしょうか?
For Each MyObject As Object In Controls
If TypeOf (MyObject) Is Label Then
Dim myLabel As Label = DirectCast(MyObject, Label)
If myLabel.TabIndex = 2 Then
myLabel.BackColor = Color.Red
Exit For
End If
End If
Next
コードとしてはこんな感じになるとは思いますが、
>複数のコントロールでイベントを共有した場合どのコントロールが受け取ったイベントなのか
>知るには受け取ったイベントの引数のオブジェクトのタブインデックスを調べたらいいとヘルプに
>書いてありました。
こんなこと書いてありますか、いい方法とは思いませんが。
ちなみに
>[VB.Net].NetではVB6の様なコントロール配列がなくなったみたいで
その話題は過去出ておりますので、過去ログ検索『コントロール配列』でどうぞ。
回答ありがとうございました。検索してみます。
ツイート | ![]() |