Beberapa alternatif mengosongkan TextBox

Posted by Kamarudin • 1 minute read • Comments

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 :blush:

Comments