Jika anda bekerja dengan Visual Basic 6 tentu dalam pekerjaan programming, anda akan sering sekali memanipulasi object-object di dalamnya (lha iya lah… masa mau manipulasi apalagi? hehehe…). Dan juga termasuk kontrol-kontrol yang ada dalam form-form anda. Dan di artikel ini saya mau membagi satu trik untuk memperpendek baris program kita, ketika kita ingin memberlakukan aksi yang sama pada banyak object didalam satu form tertentu.
Misalnya, jika anda ingin mendisable semua textbox yang ada didalam suatu form, tentu anda bisa menggunakan cara yang biasa:
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Dan itu ngga salah sih, cuman bayangin aja kalau dalam satu form itu ada 12 textbox, masa mau mengulang baris itu sebanyak 12 kali?
Kita bisa menggunakan For Each
untuk memberikan nilai yang sama pada property control yang sejenis disatu form. Syntaxnya cukup sederhana, untuk melakukan hal yang sama seperti diatas, tulis aja seperti ini:
For Each contrl In Me.Controls
If (TypeOf contrl Is TextBox) Then
contrl.Enabled = False
End If
Next contrl
Anda bisa mengaplikasikan ke seluruh control diform anda, cukup ganti di bagian TypeOf contrl Is TextBox
. Ganti Textbox ke nama object anda. Misal, anda ingin mengaplikasikan nilai yang sama pada Combobox, ganti saja baris itu menjadi TypeOf contrl Is Combobox
.
Untuk mengubah properti-nya, ubah contrl.Enabled = False
ke properti dengan yang anda inginkan. Misalnya ingin memberikan nilai kosong pada Textbox itu, ganti menjadi contrl.Text = ""
.
Cukup mudah kan?