Domanda

Per un determinato modulo di input, vorrei rendere possibile l'input con la tastiera. So leggere i tasti tramite KeyPressed e KeyUp, ma il problema è che quando un controllo ha lo stato attivo e l'utente preme il tasto Invio, quel controllo riceve l'evento a Click. È possibile prevenire questo comportamento? Oppure è possibile sapere se un evento Click è stato attivato dal mouse o dalla tastiera?

È stato utile?

Soluzione

Questo aiuta? Da Microsoft Knowledge Base

  

Sposta il codice del pulsante dal pulsante.Clicca () su un pulsante.MouseClick ()

Altri suggerimenti

Questo sarebbe più semplice se tu potessi descrivere la situazione e il comportamento esatto che vuoi ... :)

Puoi impostare:

Form.KeyPreview = True

Questo invia prima gli eventi chiave al modulo, quindi al controllo. Ciò ti dà la possibilità di catturare gli eventi chiave nel modulo e di "annullarli":

e.Handled = True

Ulteriori informazioni

Assicurati inoltre di non aver impostato AcceptButton per il modulo!

Puoi anche ascoltare gli eventi della tastiera e filtrare i tasti.

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