Merhabalar, Bu yazımda C# Formdaki Tüm TextBox Nesnelerini Temizlemek konusuna bakacağız. Yalnız TextBox dediğime bakmayın. Herhangi bir veri girişi nesnesini de bu yöntem ile temizleyebilirsiniz.
C# Formdaki Tüm TextBox Nesnelerini Temizlemek
Bazı projelerimizde bir formda onlarca textbox vs. veri giriş nesnesi kullanmak zorunda kalırız. Örneğin ben bir projemdeki formda 126 tane Textbox kullanmak zorunda kalmıştım. Aslında o çok nesnenin bir formda olmasına gerek yoktu ancak kullanıcılar tek formda olmasını istediği için öyle yapmıştım. Neyse… :) Yani bir formda çok fazla nesne kullanılabiliyor. Böyle bir formda nesneleri temizlemek istediğimizde ne yapacağız? Her bir textbox nesnesinin Text ‘ini tek tek boşaltacak mıyız? Örneğin aşağıdaki gibi…
textBox1.Text = ""; textBox2.Text = ""; textBox3.Text = ""; textBox4.Text = ""; textBox5.Text = ""; textBox5.Text = ""; textBox6.Text = ""; ... ... ... textBoxN.Text = "";
Bu kadar şey yazmaya gerek var mı? Tabi ki yok. Daha kolay bir yolu var. Üstelik dinamik bir yöntem… Yani vereceğim kodları alıp başka forma kopyaladığınız da yine formdaki ilgili nesneleri temizleyecektir.
C# Tüm TextBox Nesnelerini Temizlemek Nasıl Olacak?
Ben bu dersi Github projeme ekleyeceğimden dolayı bir tasarım yaptım ve 144 tane TextBox koydum. Aşağıda görebilirsiniz.
Şimdi bu tasarıma göre tüm textboxları tek seferde nasıl temizlediğimize bakalım. Temizle butonumuzun click eventine geliyoruz ve kodlarımızı yazıyoruz.
private void btn_temizle_Click(object sender, EventArgs e) { foreach (Control item in this.Controls) { if (item.GetType().ToString() == "System.Windows.Forms.TextBox") item.Text = ""; } }
Hepsi bu kadar altı üstü 4 satır kod ile bunu yapabiliyoruz. Yazımı bitirmeden önce kodlarımızı açıklayalım.
Bu gibi işlemler için en iyi seçenek ForEach Döngüsü kullanmaktır. Belirli bir sayı belirtmemize gerek olmadan döngü çalışır. ForEach döngüsünde bulmak istediğimiz şey olarak Control sınıfını verdik. Yani tüm Control ‘leri gez demiş olduk. Neredeki tüm Control’ler, hangi Form içindeysek o Formdaki Control’ler. ForEach Döngüsünün ilk satırındaki
this.Controls
kısmındaki this içinde olduğumuz form demektir.
Döngü başladıktan sonra nesneleri kontrol edeceğiz. Bize sadece Texbox’lar lazım. Bulunan Control ‘ün tipinin ne olduğunu bilmek için Control.GetType() metodunu kullanıyoruz. Bu bize bulunan nesnenin ait olduğu namespace’i ile birlikte ne olduğunu veriyor. Bu metod Object türünde geri dönüş verdiğinden dolayı ToString() metodu ile string’e dönüştürüyoruz.
Tipini aldığımız Control eğer bir TextBox ise, Control’ün Text özelliğini boş olarak ayarlıyoruz… (Burada bir şeyler yazarsanız da doldurur. :) )
Şimdi, TextBox nesnesinin tipini nereden biliyorum? Aşağıdaki görsele bakarak sizde öğrenebilirsiniz. :)
Bir nesneye sağ tıklayın ve Properties (Özellikler) sayfasına gidin. İşaretli alanda ne olduğunu göreceksiniz. Benim gibi DevExpress kullanıyorsanız burada yazan şeyin daha farklı olduğunu fark edeceksiniz.
C# Formdaki Tüm TextBox Nesnelerini Temizlemek dersimiz de bu kadar arkadaşlar.
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.
Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz… Bu dersimde bonusları ile birlikte github projemde yerini almıştır.
Hiçbir yerde bulamayacağınız kaliteli ve çalışan kodlar için Takipte ve Sağlıcakla kalın.