画像ファイル 画像ファイル
画像ファイル

コントロールの配列を作る

フォームの上に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

画像ファイル    ←備忘録項目に戻る