c# - Validation - (Form) Cancel button doesnt work -
i having problems leaving form on cancelbutton_clicked event, because of validating events. 
i have 1 textbox has own validating methods, , returns e.cancel = true if input string null or empty, else e.cancel = false.
now, have cancelbutton regular button, , close current form, this:
cancelbutton_clicked(object sender, eventargs e) { this.close(); } but if this, , if textbox left empty doesnt pass validation, , cant close form. validation icons keep blinking. tried setting causesvalidation false, tried this:
private void btncancel_click(object sender, eventargs e) {     // stop validation of controls form can close.     autovalidate = autovalidate.disable;     close(); } but none of helped. hope could. cheers
am assuming, have set btncancel.causesvalidation=false; either through code or designer.
setting causesvalidation=false of button, allow call click event of button
now there multiple things can do.
- simply unregister - textbox- validatingevents inside- btn_canceli.e.- private void btncancel_click(object sender, eventargs e) { textbox1.validating -= new canceleventhandler(textbox1_validating); this.close(); }
- simply use boolean flag. set true inside btncancel event , use inside validating event - bool iscancelbtnclicked=false; private void btncancel_click(object sender, eventargs e) { iscancelbtnclicked=true; this.close(); } private void textbox1_validating(object sender, canceleventargs e) { e.cancel=!iscancelbtnclicked; }
Comments
Post a Comment