Merhaba Arkadaşlar!
Bu yazımızda sizlerle C# için Error provider nedir, error provider nasıl kullanılır, error provider ne işe yarar bu component hakkında neleri kullanabiliriz bunlardan bahseceğiz!Error Provider nedir diye bakacak olursak error provider bir form üzerinde denetim kendisiyle ilişkili bir hata olduğunu belirten bir kullanıcı arabirimi sağlar.(Bknz: Error Provider on MSDN) Yani error provider nesnesini örneğin bir textboxun kenarına iliştirip textbox ile ilgili bir hata olması durumunda orada kendisini göstermesini sağlayabiliriz. Peki bu Error provider’ı formumuza nasıl ekleriz?
Error provider’ı forma eklemek için herhangi kütüphane v.s. eklemenize gerek yok, Toolbox kısmından direk olarak formunuza ekleyebilirsiniz. Ekledikten sonra aynı Timer nesnesi gibi aşağıda belirecektir örnek olarak aşağıdaki gibi bir tasarım yapacak olursak:
iki adet textBox ve Bir adet errorProvider ekledik formumuza. Bu tasarımı sağladık, peki ya errorProvider’in properties kısmındaki görüntüsü nedir?
Bu şekilde bir görüntümüz olacak. Eğer Icon kısmındaki özelliği değiştirmezseniz, standart olarak ünlem işareti olarak belirecektir.
Peki bu proje için şöyle bir şey tasarlayalım, iki textbox için, eğer iki textbox içindeki değerler birbirine eşit değilse errorProvider hata görünümüne geçsin, eğer eşit durumda ise errorProvider kaybolsun. Bu değişiklikleri yapmak için, errorProvider’ı textBox nesnesine bağlamamız gerekir. Peki bunu nasıl yapabiliriz? Bağlama işini, hata verdirme anında gösterirken yapacağız. Bunu da belirttikten sonra kodlama işine geçelim.
textBox1 ve textBox2 nin textChanged event kısmına aşağıdaki kodları yazarsak eğer;
if((textBox2.Text==textBox1.Text)||(textBox1.Text==textBox2.Text)) { errorProvider1.Clear(); } else { errorProvider1.SetError(textBox1, "Girilen değerler eşleşmiyor."); errorProvider1.SetError(textBox2, "Girilen değerler eşleşmiyor."); }
Bu kodları yazdığmızda eğer girilen değer hatalı ise bu şekilde bir görüntü elde etmiş oluruz:
Bu durumda errorProvider uyarı vermiş olur ve eğer girdiğimiz veriler birbirinin aynısına eşit olduğu durumda errorProvider kaybolacaktır. Tüm projeyi incelediğimizde projenin içindeki tüm kodlar aşağıdaki gibi olacaktır:
private void textBox2_TextChanged(object sender, EventArgs e) { if((textBox2.Text==textBox1.Text)||(textBox1.Text==textBox2.Text)) { errorProvider1.Clear(); } else { errorProvider1.SetError(textBox1, "Girilen değerler eşleşmiyor."); errorProvider1.SetError(textBox2, "Girilen değerler eşleşmiyor."); } } private void textBox1_TextChanged(object sender, EventArgs e) { if ((textBox2.Text == textBox1.Text) || (textBox1.Text == textBox2.Text)) { errorProvider1.Clear(); } else { errorProvider1.SetError(textBox1, "Girilen değerler eşleşmiyor."); errorProvider1.SetError(textBox2, "Girilen değerler eşleşmiyor."); } }
textchanged eventlerini bu şekilde düzenlediğimizde projemiz sorunsuz çalışacaktır.
Bu yazımızda errorProvider nedir, error provider nasıl çalışır, error provider nasıl temizlenir gibi konularda yardımda bulunduk eğer anlamadığınız ve ya yapmakta zorlandığınız kısımlar olursa bana “[email protected]” adresi üzerinden ulaşabilirsiniz.
Teşekkürler!