Pages

Tuesday, February 16, 2016

Textbox yang read only (vb.net serial)

Beberapa waktu lalu saya membuat aplikasi dengan menggunakan vb.net dan ketika aplikasi di test oleh user. User menginginkan agar warna angka pada textbox yang readonly diberi warna merah.
Dan saya sampaikan ok… tidak masalah.

Kemudian saya merubah properti textbox tersebut, yaitu merubah forecolor menjadi warna merah. Dan ketika ditest ternyata forecolor tidak berubah ketika textbox sedang dalam kondisi readonly.  Saya menambahkan script merubah forecolor ketika textbox diset readonly. Tetapi hasilnya warna angka tidak berubah.

Akhirnya saya searching dan menemukan kenyataan bahwa banyak programmer menghadapi masalah yang sama. Penjelasannya kenapa hal ini terjadi adalah secara default, jika kita tidak menentukan BackColor, dan mengatur kontrol untuk readonly, itu menggunakan "Enabled == false" untuk menggambar ulang kontrol. Secara pribadi, saya pikir ini adalah bug.

Jadi solusi untuk masalah ini adalah kita harus tentukan backcolor secara script kemudian tentukan forecolor secara script. Hal ini akan menyebabkan properti kontrol yang di-readonly-kan akan di gambar ulang.

Contoh scripnya:
Me.TextBox8.ForeColor = Color.Red
Me.TextBox8.BackColor = Color.White



Selamat Mencoba