2009-03-13 3 views
5

Come evitare che il cursore passi alla riga successiva in una casella di testo quando è stato premuto il tasto "INVIO"? In altre parole, come disabilitare il tasto "INVIO" o "INVIO" in una casella di testo?C# Come disattivare un tasto

risposta

13

È possibile scrivere l'evento OnKeyDown. è possibile utilizzare e.SuppressKeyPress per indicare a .NET che si gestisce la chiave. Qualcosa di simile a questo:

if (e.KeyCode == Keys.Enter) { 
    e.SuppressKeyPress = true; 
} 
+0

+1 per informazioni utili per il caso generale anche se non è l'approccio migliore per questo particolare scenario – Davy8

+0

risposta rapida WOW ... questo è molto meglio di altri forum (non voglio dire quali) dove le persone insultano persone che fanno domande. Grazie, grazie. –

+0

KeyPressEventArgs non contiene SuppressKeyPress ... Sto usando l'evento OnKeyPress –

6

Date un'occhiata a TextBox.AcceptsReturn.

+0

c'è un modo per farlo su un richtextbox? –

+0

Non ho paura. Ma puoi ignorare OnKeyDown come suggerisce Jedi Master Spooky. –