Public Class Form1
    Private btnNumereButtons() As System.Windows.Forms.Button

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        CreareDinamicaButoane()
    End Sub

    Private Sub CreareDinamicaButoane()
        Dim i As Short

        'stabilire dimensiune vector de controale
        ReDim btnNumereButtons(10)

        'setare proprietati (text, size, background etc.) si handlere
        For i = 0 To 9
            btnNumereButtons(i) = New System.Windows.Forms.Button
            With btnNumereButtons(i)
                .Text() = i.ToString()    'textul fiecarui buton va fi setat la cifra corespunzatoare (0,1,2..9)
                .Size() = New Size(40, 40)     'dimensiunea butoanelor va fi aceeasi pentru toate de 40x40
                .FlatStyle() = FlatStyle.Popup    'stilul butoanelor create
                .Location() = New System.Drawing.Point(10 + (i Mod 3) * 50, 70 + (i \ 3) * 50) 'localizarea pe forma
                .BackColor() = System.Drawing.Color.ForestGreen        'culoarea de background
                AddHandler .Click, AddressOf Me.btnNumereButtons_Click    'asignarea unui handler pentru evenimentul click 
            End With
        Next

        'adaugarea butoanelor in colectia de controale asociata formei
        Me.Controls.AddRange(btnNumereButtons)

    End Sub

    'handler pentru evenimentele de tip Click corespunzatoare butoanelor din vector
    Private Sub btnNumereButtons_Click(ByVal sender As System.Object, ByVal e As EventArgs)
        txtCalculator.AppendText(sender.Text())
    End Sub
End Class
