2009-03-13 7 views
5

Comment empêcher le curseur d'aller à la ligne suivante dans une zone de texte lorsque la touche 'ENTER' a été enfoncée? En d'autres termes, comment désactiver la touche 'ENTER' ou 'RETURN' dans une zone de texte?C# Comment désactiver une touche

Répondre

13

Vous pouvez écrire l'événement OnKeyDown. vous pouvez utiliser le e.SuppressKeyPress pour dire .NET que vous gérez la clé. Quelque chose comme ceci:

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

+1 pour des informations utiles pour le cas général même si ce n'est pas la meilleure approche pour ce scénario particulier – Davy8

+0

WOW réponse rapide ... c'est bien mieux que d'autres forums (ne veulent pas dire lesquels) où les gens insultent les gens qui posent des questions. Merci, merci. –

+0

KeyPressEventArgs ne contient pas SuppressKeyPress ... J'utilise l'événement OnKeyPress –

6

Regardez TextBox.AcceptsReturn.

+0

est-il un moyen de le faire sur une riche zone de texte? –

+0

Je ne crains pas. Mais vous pouvez surcharger OnKeyDown comme le suggère Jedi Master Spooky. –

Questions connexes