Я хочу активировать текстовое поле поиска, когда пользователь начинает что-то печатать (даже если текстовое поле не сфокусировано прямо сейчас). Я дошел до установки KeyPreview
в форме true
. Затем в обработчике событий KeyDown у меня есть это:
if(!searchTextBox.Focused)
{
searchTextBox.Focus();
}
Это почти работает. Текстовое поле сфокусировано, но первая напечатанная буква потеряна. Я предполагаю, что это потому, что текстовое поле никогда не получает событие, так как оно не было сфокусировано, когда оно произошло. Итак, есть ли у кого-нибудь умное решение, как я мог бы заставить эту работу работать так, как надо?
Я также хотел бы дать несколько советов о том, как сделать это только при нажатии обычных клавиш. Так что не нравится, клавиши со стрелками, клавиши-модификаторы, функциональные клавиши и т. Д. Но я, вероятно, найду способ сделать это. С другой стороны, в предыдущем выпуске я не совсем уверен, как мне решать ...