2009-03-13 3 views
5

Как предотвратить переход каретки на следующую строку в текстовое поле при нажатии клавиши «ENTER»? Другими словами, как отключить клавишу «ВВОД» или «ВОЗВРАТ» в текстовом поле?C# Как отключить ключ

ответ

13

Вы можете написать сообщение OnKeyDown. вы можете использовать e.SuppressKeyPress, чтобы сообщить .NET, что вы обрабатываете ключ. Что-то вроде этого:

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

+1 для полезной информации для общего случая, даже если это не лучший подход для данного конкретного сценария – Davy8

+0

WOW быстрый ответ ... это лучше, чем другие форумы (не хочу сказать, какие), где люди оскорбляют люди, которые задают вопросы. Спасибо, спасибо. – 2009-03-13 20:27:50

+0

KeyPressEventArgs не содержит SuppressKeyPress ... Я использую событие OnKeyPress – 2009-03-13 20:30:43

6

Посмотрите на TextBox.AcceptsReturn.

+0

, есть ли способ сделать это в richtextbox? – 2009-03-13 20:32:11

+0

Я боюсь, что нет. Но вы можете переопределить OnKeyDown, как предлагает мастер-магистр-джедай. –

Смежные вопросы