Pregunta

¿Cómo capturar los clics de los usuarios en una aplicación winform sin hacer que el código sea muy complicado? ¿Es AOP la respuesta? ¿Cómo hacer un seguimiento de las instrumentaciones?

¿Fue útil?

Solución

Esto depende más bien de sus requisitos reales.

Para una aplicación de formularios winforms simple / muestra / prototipo, sugeriría un WinForms Event Handlers , con el código (siempre que no sea demasiado pesado) en los métodos del controlador. Si el código es pesado, contiene reglas comerciales estrictas y no interactúa con el formulario, es mejor mover ese código a otra clase y llamarlo desde el controlador del evento.

Programación Orientada a Aspectos toma esta ventaja. Generalmente se aplica mejor en proyectos de mayor escala. Aún necesita controladores de eventos para los elementos de su formulario (y le recomiendo que se adhiera a los controladores de eventos basados ??en control; no intente crear su propio servicio de gestión de eventos global), pero deberían realizar llamadas a objetos de Comando (consulte Command Pattern en GangOfFour). Esos objetos de comando pueden invocarse desde cualquier lugar de su aplicación. Si desea instrumentación, la instrumentación debe estar en esos objetos de Comando en lugar de los eventos de WinForms. Puede aprovechar Inversión de control como Castle Windsor para inyectar el registro / auditoría en los comandos sin tener que cambiar su aplicación usando Patrón de interceptor . Aquí hay un ejemplo de David Hayden

Otros consejos

El método general para capturar clics en winforms es manejar Control.MouseClick . También puede consultar Control.MouseDown y Control.MouseUp Si quieres información más detallada.

Si proporciona más detalles sobre lo que está tratando de hacer, probablemente podamos encontrar una respuesta más específica.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top