Xtradi

See also: Other Geeks@INDC
Dynamically adding Control (simpel)

Membuat Button secara dinamis

Di vb.net kita bisa membuat Control sendiri lalu mem-bind Control tersebut dengan event handler yang anda inginkan. Untuk itu pada blog ini saya akan menjelaskan cara membuat Control button dan mem-bind-nya dengan event handler yang bisa menyebutkan nama button dan teks pada button yg diklik.

 

1. Pertama pada tampilan Designer taruhlah sebuah Control button bernama "Buttonadd" dan panel bernama "Panel1"

Tampilan pada Designer

2. berilah global variabel untuk menghitung banyak button dan letak posisinya. Letakkan kode ini pada line ke-2 setelah "Public Class Form1" dimana Form1 adalah nama form yang anda gunakan

    Dim counter As Integer = 0
    Dim xp As Integer = 0
    Dim yp As Integer = 0

3. Kemudian kembali pada tampilan Designer klik dua kali button dan isikan kode ini pada event handler button "Buttonadd".

 
    Private Sub Buttonadd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonadd.Click
        Dim bt As New Button
        bt.Name = "bt" + CStr(counter)
        bt.Text = "button ke-" + CStr(counter)
        bt.Size = New Drawing.Size(80, 20)
        bt.Location = New Point(xp, yp)
        If (counter + 1) Mod 3 = 0 And counter <> 0 Then
            xp = 0
            yp += 25
         Else
            xp += 90
        End If
        AddHandler bt.Click, AddressOf newbutton
        Panel1.Controls.Add(bt)
        counter += 1
    End Sub

 

Perhatikan bahwa "AddHandler" ini digunakan untuk mem-bind button dengan event handler-nya. Selain itu "Panel1.Controls.Add(bt)" digunakan untuk menambahkan control button yang dibuat pada Panel1.

 

4. Buat event handler untuk button yang nanti kita buat. 

    Sub newbutton(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If TypeOf sender Is Button Then
            MsgBox("Namaku adalah '" + sender.name + "' yg mempunyai text '" + sender.text + "' ", MsgBoxStyle.Information, "Button Information")
        End If
    End Sub


 Di dalam Sub ini kita pertama kali cek apakah sender itu berupa button(If TypeOf sender Is Button Then) jika iya maka sender kita dapat perlakukan seperti button normal yang memiliki properti seperti text dan name.

__________________________________________________________________________________________________________________________

 

Setelah itu Demo!

 

 tombol 4 kali diklik

Jika tombol diklik 4 kali maka muncul 4 tombol. Karena counter dimulai dari 0 tombolnya pun mulai dari 0.

 ________________________________________________________________________________________

Tombol ke satu diklik

Jika Button "bt1" diklik maka akan muncul tampilan seperti di atas.

Jika Button lain diklik maka tiap button akan memunculkan message box yang memberi tahu namanya dan teks yang dia punya, walaupun kita tahu bahwa eventnya sama saja yaitu event "newbutton".

 

Yak! itulah caranya membuat button secara programming dan mem-bindnya dengan event handler. Semoga berhasil!

Share this post: | | | |