How to cancel any event in winforms?

I want to cancel an event from within that function scope.

Eg. I pressed button click event and on false validation, I want to cancel this event. Likewise i want to cancel other events also.

How can i do this in C#


It depends on the scenario; in most cases: rather than cancel the event, just do nothing, for example:

private void SaveDataClicked(object sender, EventArgs args) {
    if(!ValidateData()) return;
    // [snip: code that does stuff]
}

or:

private void SaveDataClicked(object sender, EventArgs args) {
    if(ValidateData()) {
        // [snip: code that does stuff]
    }
}

There are some events that expose a CancelEventArgs (or similar), allowing to to cancel some external behaviour via the args - form-closing being the most obvious example (set e.Cancel = true; ).

Note that in this scenario I would not have an automatic dialog-result on the button; apply that manually when (if) the handler completes successfully.


private void SaveDataClicked(object sender, EventArgs args)
 {
   args.cancel = true;
 }
链接地址: http://www.djcxy.com/p/45374.html

上一篇: 如何开发Java Web应用程序而无需一直进行部署

下一篇: 如何取消winforms中的任何事件?