Evento click su label runtime?

di il
2 risposte

Evento click su label runtime?

Ciao a tutti,
avrei la necessità di ricevere la posizione del mouse all'inerno del form a fronte di un click,
il problema è che in realtà il click avviene con il puntatore posizionato su delle label create in runtime.
Esiste un modo per registrare l'evento click a prescindere dal controllo sul quale avviene?
Oppure, posso creare un controllo trasparente al quale fare riferiemento per il click, ma che mi consenta di vedere quello che si trova dietro di lui?

grazie e scusate il livello del quesito..

2 Risposte

  • Re: Evento click su label runtime?

    Potresti ciclare i controlli creati a runtime ed aggiungere il gestore dell'evento ,eventualmente facendo un cast a Label del controllo che appartiene alla collezione controls del form prima di aggiungere il gestore dell'evento
  • Re: Evento click su label runtime?

    Quello che puoi fare è sfruttare l'interfaccia IMessageFilter: si tratta di uno scheletro che può essere implementato dalle classi preposte a ricevere i messaggi che Windows invia all'applicazione.

    Usando l'oggetto Application, puoi chiamare il metodo per censire un oggetto (che deve implementare IMessageFilter e potrebbe essere anche il MainForm dell'applicazione) in modo da intercettare i messaggi ricevuti dall'applicazione e applicarvi una gestione "custom".

    Questo è necessario in quanto, se ho ben capito la tua domanda, la tua richiesta è quella di implementare una gestione del click in modalità "Application-Wide".

    Per esempi di codice, vedi questa domanda analoga su StackOverflow.

    Ciao!
Devi accedere o registrarti per scrivere nel forum
2 risposte