首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >冒泡事件。

冒泡事件。
EN

Stack Overflow用户
提问于 2008-10-20 00:48:04
回答 6查看 16K关注 0票数 28

我在一个应用程序中有多个层,我发现自己必须将事件冒泡到GUI层,以便进行状态栏更改等操作。。我发现自己不得不重复编写代码,其中每一层都简单地订阅来自较低层的事件,然后在回调中简单地向上引发一个事件。有没有更有效的方法来做到这一点?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-10-20 02:22:44

如果您所做的只是从另一个事件处理程序触发一个事件处理程序,那么您可以跳过中间人,直接在事件的add/remove块中挂钩事件处理程序。

例如,如果您有一个带有"SaveButtonClick“事件的UserControl,当单击UserControl上的"SaveButton”时,您要做的就是调用事件处理程序,您可以这样做:

代码语言:javascript
复制
public event EventHandler SaveButtonClick
{
    add { this.SaveButton.Click += value; }
    remove { this.SaveButton.Click -= value; }
}

现在你不需要任何代码来触发SaveButtonClick事件-它将在SaveButton.Click事件被引发时自动触发(即当有人单击该按钮时)。

票数 34
EN

Stack Overflow用户

发布于 2008-10-22 09:58:26

请阅读Jeremy Miller的博客"The Shade Tree Developer",特别是他的 series -他在那里谈到的命令模式的东西可能就是你所需要的。

票数 3
EN

Stack Overflow用户

发布于 2008-11-25 20:13:27

Peter Rilling发布了一种在winforms中模拟事件冒泡/广播的方法。它简单而有效。

http://www.codeproject.com/KB/cs/event_broadcast.aspx

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/217233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档