Beberapa alternatif mengosongkan TextBox
Pertanyaan 1 :
Berdasarkan contoh form berikut buatkan perintah untuk mengosongkan semua inputan.
Jawab :
private void btnReset_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
textBox7.Clear();
textBox8.Clear();
}
Apakah ada cara yang lain ?
Jawab :
Ada, tambahkan method baru misal dengan nama ResetForm
private void ResetForm(Form frm)
{
// cek semua objek yg ada di Form
foreach (object ctl in frm.Controls)
{
if (ctl.GetType().Name.Equals("TextBox")) // jika TextBox
{
((TextBox)ctl).Clear(); // kosongkan
}
}
}
Kemudian tinggal panggil di event btnReset_Click
private void btnReset_Click(object sender, EventArgs e)
{
ResetForm(this);
}
Kodenya kelihatan lebih simple bukan dan jika method ResetFormnya kita jadikan method public yang sifatnya static maka bisa dipake untuk semua form.
Pertanyaan 2 :
Terjadi revisi form sebelumnya seperti berikut :
Apakah method diatas masih berfungsi dengan baik ?
Jawab :
Method diatas hanya berhasil mengosongkan TextBox yang ada di luar container GroupBox, jadi method ResetFormnya harus direvisi lagi :
private void ResetForm(Form frm)
{
// cek semua objek yg ada di form
foreach (object ctl in frm.Controls)
{
if (ctl.GetType().Name.Equals("TextBox")) // jika TextBox
{
((TextBox)ctl).Clear(); // kosongkan
}
// tambahan pengecekan container GroupBox
else if (ctl.GetType().Name.Equals("GroupBox"))
{
// cek semua objek yg ada di dalam GroupBox
foreach (object itm in ((GroupBox)ctl).Controls)
{
if (itm.GetType().Name.Equals("TextBox")) // jika TextBox
{
((TextBox)itm).Clear(); // kosongkan
}
}
}
}
}
Kasus kedua juga sama jika objek TextBox dimasukkan kedalam container Panel, jadi harus ditambahkan pengecekan objek Panelnya.
Selamat MENCOBA
Comments