如何取消winforms中的任何事件?

我想从该功能范围内取消一个事件。

例如。 我按下了按钮点击事件,并在错误的验证,我想取消这个事件。 同样我也想取消其他事件。

我怎样才能做到这一点在C#


这取决于场景; 在大多数情况下:不是取消事件,而是不做任何事情,例如:

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

要么:

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

有一些事件暴露了一个CancelEventArgs (或类似的),允许通过args取消一些外部行为 - form-closing是最明显的例子(set e.Cancel = true; )。

请注意,在这种情况下,我不会有按钮上的自动对话框结果; (if)处理程序成功完成时手动应用。


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

上一篇: How to cancel any event in winforms?

下一篇: How to serialize List<object>