c# - 防止调用下一个事件处理程序

标签 c# .net event-handling

我有两个事件处理程序连接到 Windows 窗体中的按钮单击,如下所示:

this.BtnCreate.Click += new System.EventHandler(new RdlcCreator().FirstHandler);
this.BtnCreate.Click += new System.EventHandler(this.BtnCreate_Click);

两者都被正确调用。

然而,在 FirstHandler() 中是否有可能阻止 BtnCreate_Click() 被执行?像这样的东西:

void FirstHandler(object sender, EventArgs e)
{
   if (ConditionSatisfied)
     //Prevent next handler in sequence being executed

}

我知道我可以取消订阅事件,但这可以通过编程方式完成(从方法内)吗?

最佳答案

据我所知,目前还没有解决方案。这是因为无法保证事件发生时调用事件处理程序的顺序。

因此,您不应该以任何方式依赖他们的订单。

关于c# - 防止调用下一个事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11031548/

相关文章:

c# - 所有文本完全丢失或呈现为方框

c# - 如何使用可空的 setter/getter ?

c# - 如何使用 .NET ApplicationPool 类更改应用程序池的用户名和密码?

c# - 从 .NET 中的 native Win32 资源获取 PNG 图像

asp.net - ASP.NET 用户控件上的链接按钮未触发

c# - 使继承的事件处理程序在其基的事件处理程序之前触发的正确方法是什么?

c# - 关于拳击的问题

c# - 在 Visual Studio 2013 中构建失败并显示 "Could not copy the file.. because it was not found"

.net - 为什么这个 .NET IL 空值检查没有按预期工作?

c# - 子窗体关闭时父窗体关闭