C# İle ErrorProvider Kullanımı


12 Ağustos 2012 Hikmet Okumuş C#

Uygulamalarımızda bazı alanları kullanıcıdan girilecek olan verilere göre kontrol etmemiz gerekmektedir. Örneğin kullanıcının programa giriş yaptığı bir formda kullanıcı adının boş geçilmemesi gerekmektedir. Bunu bir if yapısı ile kontrol edebilir ve durumuna göre mesaj çıkararak kullanıcıyı uyarabiliriz. ErrorProvider kontrolü tam olarak böyle bir işlem için kullanılmaktadır.
Toolbox' tan forma ErrorProvider kontrolünü sürükleyebileceğimiz gibi kod kısmında da tanımlayarak kullanabiliriz.
ErrorProvider provider = new ErrorProvider();
Bir textbox' a girilecek olan değeri kontrol edelim. Eğer textbox boş ise ErrorProvider kontrolü ile uyarımızı verelim.
Örnek;
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                provider.SetError(textBox1, "Bu alan boş geçilemez");
            }
        }
provider.SetError ile kontrol edilecek olan kontrol ve kontrol mesajı yazılmaktadır. Ekran görüntüsü aşağıdaki gibidir.

www.hikmetokumus.com

Uyarı mesajını ekrandan kaldırmak için aşağıda bulunan kodu yazıyoruz.
        private void button2_Click(object sender, EventArgs e)
        {
            provider.Clear();
        }
SetError ile kontrole setlenmiş olan uyarı mesajını GetError ile başka bir alana string olarak atayabiliriz.
        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show(provider.GetError(textBox1));
        }
ErrorProvider kontrolünün ikon hızını değiştirmek için BlinkRate özelliği kullanılmaktadır.
provider.BlinkRate = 500;
Hata simgesinin yanıp sönme türünü değiştirmek için BlinkStyle özelliği kullanılmaktadır.
provider.BlinkStyle = ErrorBlinkStyle.AlwaysBlink;
Yanıp sönen uyarı ikonunu Icon özelliği ile değiştirebiliriz.
provider.Icon = Icon.ExtractAssociatedIcon("ikon.ico");
ErrorProvide kullanımı genel olarak bu şekilde olmaktadır.

Başarılar dilerim.



Kullanıcı Yorumları

hikmet okumuş makale yorum
Kerem Atılış
13.12.2020 18:07:30

Hocam hata mesajı geliyor fakat benim istediğim bir textboxda hata mesajı varken diğer textboxlardaki kayıtlarda eklenemesin

bu konuda yardımcı olabilirmisiniz teşekkürler

 

hikmet okumuş makale yorum
Hikmet Okumuş
13.12.2020 18:33:28

Kerem Atılış merhaba,

Soruyu tam net anlayamadım. Soru şu ise; Ekranda ad ve soyad için 2 textbox var, ad içeriği hatalı ise soyad için textbox'a veri girişi yapılamasın. Bunun için aşağıdaki makaleleri incelersen sorununu çözebilirsin. Validate methodları için textbox'ların enabled ya da readonly property'lerini yönetmen gerekecek.

https://www.c-sharpcorner.com/article/using-error-provider-control-in-windows-forms-and-C-Sharp/

https://docs.microsoft.com/tr-tr/dotnet/api/system.windows.forms.control.validating?view=net-5.0

hikmet okumuş makale yorum
ŞÜKRAN NUR CÜCÜ
4.06.2021 04:06:37

Elinize, yüreğinize sağlık:)



Yorum Ekle