İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Formdaki Tüm TextBox Nesnelerini Temizlemek

C# Formdaki Tüm TextBox Nesnelerini Temizlemek
+ - 0

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.

C# Formdaki Tüm TextBox Nesnelerini Temizlemek

Ş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. :)

C# Formdaki Tüm TextBox Nesnelerini Temizlemek

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.

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)