|
コントロールの配列を作る
|
フォームの上にTextBox1 TextBox2 TextBox3 Button1 Button2 Button3を置きます。
コントロールの配列を作る
Public Class Form1
Dim MyButton(2) As Button 'オブジェクトの配列宣言
Dim MyTextBox(2) As TextBox
Const strButtonName As String = "Button" 'ボタンの名前の共通部分
Const strTextName As String = "TextBox" 'テキストボックスの名前の共通部分
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles MyBase.Load
For i As Integer = 0 To 2
'コントロールをオブジェクトの配列に設定
MyButton(i) = CType(Controls(strButtonName & (i + 1).ToString), Button)
MyTextBox(i) = CType(Controls(strTextName & (i + 1).ToString), TextBox)
Next
End Sub
Private Sub Button_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles _
Button1.Click, _
Button2.Click, _
Button3.Click
'イベント元のコントロールを得る
Dim MyButton As Button = CType(sender, Button)
'ボタンの名前の番号は配列の番号+1となっている。
Dim index As Integer = CInt(MyButton.Name.Substring(Len(strButtonName), _
Len(MyButton.Name) - Len(strButtonName))) - 1
'テキストボックスを配列で参照
MyTextBox(index).Text = strButtonName & (index + 1).ToString & "ボタンが押されました"
End Sub
End Class