2009-11-18 12 views
7

मैं कुछ नियंत्रण और एक ErrorProvider के साथ एक WinForms है। नियंत्रण की वैध घटनाओं का उपयोग डेटा को सत्यापित करने के लिए किया जाता है और यदि त्रुटि हो तो त्रुटिप्रदाता को त्रुटि की रिपोर्ट करें। यह तब अच्छा काम करता है जब उपयोगकर्ता नियंत्रण में गलत सूचनाएं दर्ज करता है और नियंत्रण छोड़ देता है।अपने आप को प्रमाणित करने के लिए नियंत्रण को कैसे बल दें?

हालांकि, मान्यता उपयोगकर्ता किसी भी डेटा में प्रवेश के बिना पर पर क्लिक करते हैं नहीं होता है। जब उपयोगकर्ता ठीक पर क्लिक करता है तो सभी नियंत्रणों के सत्यापन को मजबूर करने का कोई तरीका है? और ऐसे मामले में जहां कुछ सत्यापन विफल हुआ, मैं ठीक घटना को कैसे जान और रद्द करूँगा?

उत्तर

14

आप Form.ValidateChildren का उपयोग फार्म पर सभी नियंत्रणों के सत्यापन के लिए मजबूर करने, वे मान्यता का समर्थन जब तक कर सकते हैं। नोट CausesValidation के साथ किसी भी नियंत्रण गलत पर सेट की एक मान्य कर घटना से आगे नहीं बढ़ेगी और इसलिए ValidateChildren द्वारा नहीं सत्यापित किया जाएगा, कि।

+11

एक भी ComboBox सत्यापित करने के बारे में क्या? प्रपत्र। वैलिडेट चिल्ड्रेन एक दक्षता समस्या उत्पन्न करता है जब सत्यापन पर बड़ी संख्या में नियंत्रण वाले फॉर्मों पर उपयोग किया जाता है। – Rob

3

आप किसी भी पूर्वजों ContainerControl के Validate या ValidateChildren का उपयोग भी कर सकते हैं, जहां Validate सर्वोत्तम प्रदर्शन करना चाहिए।

ध्यान दें कि Form एक ContainerControl है।

संबंधित मुद्दे