تعطيل التحقق من صحة ErrorProvider عند النقر فوق زر إلغاء
-
22-09-2019 - |
سؤال
هل هناك طريقة لتعطيل التحقق من صحة ErrorProvider بأناقة عند النقر فوق زر إلغاء رفضه؟ يحدث التحقق دائمًا عندما يفقد مربع النص التركيز ، ولا أريد أن يتحقق من صحة زر CLICK CLICK ، يكون من السخف قليلاً التحقق من صحة المستخدم عند النقر فوق "إلغاء".
المحلول
بعد googling ، وجدت الإجابة ، فقط قم بتعيين خاصية CauseValidation من زر الإلغاء إلى False. هذا هو.
نصائح أخرى
لقد واجهت هذا بنفسي وأعطف CauseValidation = false
هو فقط حل جزئي.
عندما تقوم بتعيين Form.CancelButton
إلى زر الإلغاء ، من المفترض أن يستدعي مفتاح الهروب هذا الزر. ومع ذلك ، لا يزال التحقق من صحة يستجيب لمفتاح الهروب ، على الرغم من قمنا بتعييننا CauseValidation = false
.
لإصلاحه ، أضف الاختراق التالي:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
// Although we set CausesValidation = false for the Cancel button,
// the Escape key fails to cancel due to validation failure. The
// Form.CancelButton property should invoke the validation-free
// cancel button, but doesn't. Force the issue here.
if (keyData == Keys.Escape)
{
DialogResult = DialogResult.Cancel;
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
لا تنتمي إلى StackOverflow