2009-11-18 13 views
7

Bazı denetimler ve bir ErrorProvider ile bir winforms var. Denetimin Doğrulama olayları, verileri doğrulamak ve varsa ErrorProvider'a hatayı bildirmek için kullanılır. Bu, kullanıcı kontrolü yanlış bilgiler girdiğinde ve kontrolü terk ettiğinde harika çalışır. Ancak, kullanıcı herhangi bir veri girmeden tıklarsa doğrulama işlemi gerçekleşmez. Kullanıcı Tamam'a tıkladığında tüm kontrollerin onaylanmasını zorlamanın bir yolu var mı? Ve bazı doğrulamaların başarısızlıkla sonuçlanması durumunda OK olayını nasıl öğrenebilir ve iptal edebilirim?Bir denetimi kendini doğrulamak nasıl zorlanır?

cevap

14

Doğrulamayı destekledikleri sürece formdaki tüm denetimlerin doğrulanmasını zorlamak için Form.ValidateChildren'u kullanabilirsiniz. CausesValidation ile False olarak ayarlanan herhangi bir denetimin bir Validating olayı yükseltmeyeceğini ve bu nedenle ValidateChildren tarafından doğrulanmayacağını unutmayın.

+11

Tek bir ComboBox'ı doğrulama hakkında ne düşünüyorsunuz? Form.ValidateChildren, doğrulamaya neden olan çok sayıda denetime sahip formlarda kullanıldığında bir verimlilik sorunu oluşturur. – Rob

3

Ayrıca Validate en iyi performans gereken herhangi atanın ContainerControl ait Validate veya ValidateChildren kullanabilir.

Form'un ContainerControl olduğunu unutmayın.

İlgili konular