コントロールの配列を作る |
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