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中的任何事件?