تعطيل التحقق من صحة ErrorProvider عند النقر فوق زر إلغاء

StackOverflow https://stackoverflow.com/questions/1995213

  •  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);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top