c# - 限制事件队列的最佳实践

标签 c# wpf events event-handling limit

我正在寻找有关应用程序特定用例的建议和帮助。 这是用例:

我们的 WPF 应用程序的用户变得疯狂并开始点击所有地方,在第一个(或前一个)事件必须完成之前触发许多事件。

目前,WPF 对任何和所有点击进行排队,并将它们排队以顺序执行。理想情况下,我们希望将最多 3 个事件排队,并在前 3 个之后丢弃并忽略所有点击(用户交互)。

解决此问题的最佳方法是什么,此用例的最佳实践是什么。非常感谢任何文档、代码和/或帮助。

最佳答案

因为这确实是一个 Windows 问题,而不是一个 WPF 问题,我唯一能想到的就是 Hook 消息队列并在一定时间内丢弃点击,除非您将特定的处理程序写入每个控件。另一种选择是编写应用程序,以便在操作期间向用户提供反馈并禁用输入。

What does WPF use to capture mouse and keyboard input?

关于c# - 限制事件队列的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7588241/

相关文章:

c# - Ref 参数返回未知大小的数组。如何处理?

wpf - 在 WPF 应用程序中,文件路径未从文本框的右端显示

wpf - 将标签与停靠面板的中间对齐

c# - 简单注入(inject)器——使用 += 运算符(加上等于)订阅事件,如 Ninject 的 OnActivation

jquery 函数在事件内部运行一次

c# - 单击按钮时显示 Div

c# - 如何格式化 mssql 日期时间列以仅在网页输入字段上显示时间?

c# - 在 ContentDialog 中滚动 Richtextblock

wpf - 数据网格项目源的 MVVM 属性

c# - DataGrid - 在 CellEditEnding() 之后触发的事件