如何在不使代码非常复杂的情况下捕获winform应用程序中的用户点击?是AOP的答案?如何跟踪仪表?

有帮助吗?

解决方案

这取决于您的实际需求。

对于一个简单/样本/原型winforms应用程序,我建议基本 WinForms事件处理程序,在处理程序方法中包含代码(提供它不太重)。如果代码很重,包含硬业务规则并且不与表单交互,那么最好将该代码移动到另一个类并从事件处理程序中调用它。

面向方面编程更进一步。它通常最适用于大型项目。您仍然需要表单元素的事件处理程序(我建议坚持使用基于控件的事件处理程序 - 不要尝试创建自己的全局事件处理工具),但是他们应该调用Command对象(参见命令模式。然后可以从应用程序的任何位置调用这些命令对象。如果需要检测,则检测应该在那些Command对象而不是WinForms事件上。您可以利用 Inversion of Control 容器,例如 Castle Windsor 将日志记录/审核注入命令,而无需使用拦截器模式以下是David Hayden的一个例子

其他提示

在winforms中捕获点击次数的一般方法是处理 Control.MouseClick 。您还可以查看 Control.MouseDown Control.MouseUp 如果你想要更详细的信息。

如果您提供有关您尝试做的更多详情,我们可能会提出更有针对性的答案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top