C# Tüm TextBoxları Temizleme

Herkese merhaba, C# yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda form üzerinde bulunan tüm TextBoxları temizlemeyi anlatacağım. Hadi başlayalım !
Gayet kalabalık bir tane formun olduğunu varsayalım ve formu doldurduktan sonra altta bulunan bir tane butona tıklayınca formun tamamen temizlenmesini istiyorsunuz. Form üzerinde verileri de TextBoxlar ile alıyorsanız TextBoxları temizlemek için her biri için ayrı ayrı textBox1.Clear(); textBox2.Clear(); şeklinde TextBox sayısı kadar yazmanız gerekmekte fakat şimdi anlatacağım yol ile bu kadar uzun uzadıya kod yazmanıza gerek kalmadan tüm TextBoxları temizleyebileceksiniz.
Windows Form projesinde Form üzerine eklediğiniz herşey C# tarafında Control sınıfıyla temsil ediliyor ve Form’un Controls propertysi içinde toplanıyor. Control bir tanesi iken, Controls form üzerinde bulunan tüm TextBox, Label, Button, PictureBox, … gibi araçların tümünü tutuyor. Controls bir dizi olduğu için bu diziyi döngü ile dönebilir, her bir Control’ü ayrı ayrı kontrol edebiliriz. Döngünün her bir adımında ilgili Control nesnesinin TextBox olup olmadığını da kontrol eder, TextBox ise içeriğini temizleyebiliriz. Döngü olarak foreach döngüsü kullanacak ve TextBox’ı temizlemek için de Text propertysine boş değer göndereceğiz. Yani kodumuz şöyle olacak;
foreach (Control item in Controls)
{
if (item is TextBox)
{
item.Text = "";
}
}
Bu şekilde tüm TextBoxları temizleyebiliriz. Ayrıca aynı işlemi Linq kullanarak yapmak isterseniz de kodumuz şöyle olacaktır;
Controls.OfType<TextBox>().ToList().ForEach(x => x.Text = "");
Linq ile hem daha hızlı hemde daha az kod yazarak aynı işlemi yaptık fakat siz hangisini kullanmak isterseniz onu kullanırsınız artık 🙂
Evet form üzerindeki tüm TextBoxları temizleme bu şekilde yapılmakta. Tüm C# yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.