如何捕獲用戶在winform應用程序中的點擊而不會使代碼變得非常複雜? AOP是答案嗎?如何跟蹤儀器?用於winforms的AOP
2
A
回答
5
這確實取決於您的實際要求。
對於簡單/樣本/原型winforms應用程序,我會建議基本WinForms Event Handlers,與處理程序方法中的代碼(提供它不太重)。如果代碼繁重,包含硬性商業規則並且不與表單交互,那麼最好將代碼移動到另一個類並從事件處理程序調用它。
Aspect Oriented Programming需要這個進一步。它通常最適用於較大規模的項目。您仍然需要事件處理程序來處理表單元素(並且我建議堅持使用基於控件的事件處理程序 - 不要嘗試創建自己的全局事件處理工具),但應該調用Command對象(請參閱GangOfFour中的Command Pattern)。那些命令對象可以在應用程序的任何地方被調用。如果你需要檢測,那麼檢測應該在那些Command對象而不是WinForms事件上。您可以利用Inversion of Control等容器(如Castle Windsor)將註冊/審計注入到命令中,而無需使用Interceptor pattern完全更改您的應用程序。 Here's an example from David Hayden
0
捕獲winforms中的點擊的一般方法是處理Control.MouseClick。如果您需要更詳細的信息,您還可以查看Control.MouseDown和Control.MouseUp。
如果您提供有關您要做什麼的更多詳細信息,我們可能會想出更有針對性的答案。
相關問題
- 1. 用於WinForms的Freetextbox
- 2. AOP x IoC用於緩存
- 3. AOP可以用於國際
- 4. 基於AOP的登錄Guice
- 5. Questin關於使用統一的AOP
- 6. 適用於Android的WinForms庫?
- 7. 有註解相當於Spring AOP的AOP:包括autoproxies
- 8. @AspectJ基於AOP與Spring 3.1
- 9. 關於Spring AOP例如
- 10. 關於Struts2 Spring AOP Logger
- 11. Spring AOP代理不能用於JavaFX
- 12. Application.DoEvents()僅適用於WinForms嗎?
- 13. 何時使用@Pointcut&@Before,@AOP AOP註解
- 14. 應用AOP
- 15. 攔截用AOP
- 16. AOP使用Grails
- 17. 如何使用Spring AOP的AOP功能而不使用aspectj?
- 18. Mono Winforms用於WebBrowser的MacOSX替代品
- 19. 適用於WinForms的Google OAuth 2.0 C#
- 20. 用於.net(winforms)的light richtextbox控件
- 21. 用於C#Winforms的3D圖形包?
- 22. 用於libmono-winforms包的RHEL包
- 23. 用於winforms的可擴展行Gridview
- 24. 適用於WinForms的NHibernate設計
- 25. 自舉依賴於的WinForms
- 26. 關於Winforms的問題
- 27. 用spring-aop記錄
- 28. Ninject與WCF和攔截(對於AOP)
- 29. Spring AOP的
- 30. 將Guice的AOP特性應用於非託管對象