我有一臺連接到一個按鈕,單擊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
}
我知道我可以只取消訂閱事件,但可以通過編程方式(從方法內)完成?
爲什麼不只是使用布爾標誌? –
ConditionSatisfied模仿一個 –
通過ChainEventArgs替換EventArgs並添加一些變量來支持處理程序鏈邏輯 – gabba