Ваш TextBox, вероятно, не имеет фокуса, даже если вы звоните Focus()
.Из документации:
Фокус - это низкоуровневый метод, предназначенный главным образом для авторов пользовательских элементов управления.Вместо этого разработчики приложений должны использовать метод Select или свойство ActiveControl для дочерних элементов управления или метод Activate для форм.
Вы можете проверить возвращаемое значение Focus()
для успеха, но я имелнемного удачи в прошлом, используя этот метод, чтобы установить фокус на произвольный элемент управления.Вместо этого попробуйте использовать метод, который предлагается в документации, например, позвоните Select()
.
РЕДАКТИРОВАТЬ:
Неважно (хотя это все еще действительный совет), я думаю, я вижу вашу проблему:
e.SuppressKeyPress = true
Зачем ты это делаешь?Снова, с документы:
[SuppressKeyPress] Получает или задает значение, указывающее, должно ли ключевое событие передаваться нижележащему элементу управления
Таким образом, вы намеренно запрещаете TextBox получать ключевые события.Если вы хотите пропустить событие, вам не следует устанавливать это свойство на false
.