Frage

Wie Benutzer klickt in einer winform Anwendung erfassen der Code sehr kompliziert, ohne? AOP ist die Antwort? Wie verfolgen Instrumentierungen?

War es hilfreich?

Lösung

Dies ist unabhängig und nicht auf dem tatsächlichen Bedarf.

Für eine einfachen / sample / Prototyp WinForms-Anwendung, würde ich vorschlagen Grund WinForms Event-Handler , mit dem Code (sofern es nicht zu schwer ist) in den Behandlungsmethoden. Wenn Code schwer ist, enthält harte Geschäftsregeln und nicht mit dem Formular interagieren dann ist es am besten, dass Code in eine andere Klasse zu bewegen und aus dem Event-Handler aufrufen.

Aspect Oriented Programming nimmt diese weitere. Es ist im Allgemeinen am besten in größeren Projekten angewandt. Sie noch Event-Handler für Ihre Formularelemente müssen (und ich empfehle die Steuer-basierte Event-Handler kleben - versuchen Sie nicht, Ihr eigenes globales Ereignis zu schaffen Anlage Handhabung), aber sie sollten Anrufe Objekte Command (siehe Command-Muster in GangOfFour). Diese Befehlsobjekte können dann von jedem beliebigen Ort in Ihrer Anwendung aufgerufen werden. Wenn Sie Instrumentierung wollen, sollten die Instrumentierung auf diesen Befehl Objekte sein, anstatt die WinForms Ereignisse. //www.castleproject: Sie können Inversion of Control Container wie Schloss Windsor Logging / Auditing in die Befehle zu injizieren, ohne Ihre Anwendung auf alle Interceptor Muster . Hier ist ein Beispiel von David Hayden

Andere Tipps

Die allgemeine Methode für Klicks in winforms Erfassung ist der Umgang mit Control.MouseClick . Sie können auch einen Blick auf Control.MouseDown und Control.MouseUp wenn Sie detailliertere Informationen.

Wenn Sie weitere Informationen über das, was Sie versuchen zu tun, können wir wahrscheinlich mit einer gezielteren Antwort kommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top