|  | Azuleanさん、とくまさん、Miraさん
解決済みにしていたので、返信に気づかずすみませんでした。
質問がうまく伝わってないようなので、申し訳ありません。
質問の主旨は、同じコントロールが複数あったばあいに以下のようなコードにしないようにするには
どうすればいいのかを伺いたかったのです。
Private Sub Button_Click(ByVal Sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, _ 
                                       Button2.Click, Button3.Click,   〜〜〜〜〜〜〜〜〜, Button100.Click
        Select Case Sender.name
            Case "Button1"
                Test(Textbox1, Textbox100)
            Case "Button2"
                Test(Textbox2, Textbox102)
            Case "Button3"
                Test(Textbox3, Textbox103)
             :
             :
             :
             :
            Case "Button100"
                Test(Textbox100, Textbox200)
        End Select
end sub
まりもんに提示して頂いたとおり、UserControlを作成して複数のUserControlを動的に追加することにしました。
ただ、まりもんのコード
 >>Test(Sender.Value1, Sender.Value2)
ですと Sender にbutton名が入るので以下のようにしました。
   Dim uc As UserControl1 = DirectCast(Sender.Parent, UserControl1)
         Test(uc.Textbox1, uc.Textbox2)
実際のコードはこんな感じです。
UserControlにbutton1,Textbox1,Textbox2を配置しています。
Public Class Form1
    Private MyUserControl() As UserControl1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim i As Integer = 0
        Me.Width = 1000
        Me.Height = 400
        'UserControlを配列に10個用意
        Me.MyUserControl = New UserControl1(9) {}
        Me.SuspendLayout()
        'UserControlを動的に追加
        For i = 0 To Me.MyUserControl.Length - 1
            Me.MyUserControl(i) = New UserControl1
            Me.MyUserControl(i).Name = "UserControl" + i.ToString()
            Me.MyUserControl(i).Size = New Size(200, 200)
            If i < 5 Then
                Me.MyUserControl(i).Location = New Point(i * 200, 0)
            Else
                Me.MyUserControl(i).Location = New Point(i * 200 - 1000, 200)
            End If
            AddHandler Me.MyUserControl(i).Button1.Click, _
                AddressOf Me.Button1_Click
        Next i
        Me.Controls.AddRange(Me.MyUserControl)
        Me.ResumeLayout(False)
    End Sub
    Private Sub Button1_Click(ByVal Sender As Object, ByVal e As EventArgs)
        Dim uc As UserControl1 = DirectCast(Sender.Parent, UserControl1)
        Test(uc.Textbox1, uc.Textbox2)
    End Sub
    Private Sub Test(ByVal a As TextBox, ByVal b As TextBox)
        a.Text = "a"
        b.Text = "b"
    End Sub
End Class
 |