Domanda

Come acquisire i clic degli utenti in un'applicazione winform senza rendere il codice molto complicato? AOP è la risposta? Come tenere traccia delle strumentazioni?

È stato utile?

Soluzione

Questo dipende piuttosto dalle tue effettive esigenze.

Per un'app Winforms semplice / campione / prototipo, suggerirei WinForms Event Handlers , con il codice (a condizione che non sia troppo pesante) nei metodi del gestore. Se il codice è pesante, contiene regole aziendali rigide e non interagisce con il modulo, è meglio spostare quel codice in un'altra classe e chiamarlo dal gestore eventi.

Programmazione orientata agli aspetti prende ancora di più. È generalmente meglio applicato in progetti su larga scala. Hai ancora bisogno dei gestori di eventi per i tuoi elementi del modulo (e ti consiglio di attenersi ai gestori di eventi basati sul controllo - non provare a creare la tua struttura di gestione degli eventi globale), ma dovrebbero effettuare chiamate agli oggetti Command (vedi Pattern di comando in GangOfFour). Tali oggetti comando possono quindi essere richiamati da qualsiasi punto dell'applicazione. Se si desidera la strumentazione, la strumentazione dovrebbe trovarsi su quegli oggetti Command anziché sugli eventi WinForms. Puoi sfruttare i contenitori Inversion of Control come Castle Windsor per inserire la registrazione / il controllo nei comandi senza cambiare affatto l'applicazione usando Modello di intercettore . Ecco un esempio di David Hayden

Altri suggerimenti

Il metodo generale per acquisire i clic in winforms è gestire Control.MouseClick . Puoi anche guardare Control.MouseDown e Control.MouseUp se desideri informazioni più dettagliate.

Se fornisci maggiori dettagli su ciò che stai cercando di fare, probabilmente possiamo trovare una risposta più mirata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top