2016-11-30 3 views
-1

У меня есть WinForm с двумя TextBox es. Я хочу перенести фокус с первого TextBox на следующий после того, как пользователь нажал Введите. Мой код выглядит следующим образом:Нажмите ввод в текстовое поле, чтобы переместить фокус в следующее текстовое поле, не выбирая текст

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if (e.KeyChar == (char)Keys.Enter) 
    { 
     e.Handled = true; 
     SomeCustomMethod(); 
     textBox2.Focus(); 
    } 
} 

Теперь, если пользователь ввел текст перед нажатием ввода, он сначала выбирает весь текст, как показано ниже:

enter image description here

, а затем, нажав ввести для во второй раз фокус переходит к следующему TextBox. Я не хочу этого. Я хочу, чтобы он пошел прямо к следующему TextBox, не выбирая весь текст первого TextBox. Я также проверил его с событием KeyUp, и это не сработало. Помогите!

+1

Что означает 'SomeCustomMethod()' делать? Я не помню, чтобы текстовые поля просто отбирали полный текст при потере фокуса. – bixarrio

+1

с помощью вашего кода (минус вызов somecustommethod) мой переместился в следующий ящик при нажатии enter ..... и выделен box2 .. not box1 ... – BugFinder

+0

Я такой же, как BugFinder, я использовал все, кроме «SomeCustomMethod () ", и он работал так, как вы этого хотите. –

ответ

1

Текст внутри TextBox может быть выбран только в том случае, если фокус на нем. Когда вы говорите:

«Теперь, если пользователь ввел текст перед нажатием ввода, он сначала выбирает весь текст»

Тогда вы вполне возможно сделать это самостоятельно. Пожалуйста, нажмите Control + F и поиск по всему проекту:

your_textbox_Name.Select 

Затем удалите эту строку и ваш призрачный автоматический выбор должен исчезнуть

+0

Я не использую your_textbox_Name.Select. И я просто посмотрел на SomeCustomMethod() нашей библиотеки, и я тоже не видел такого метода. –

+0

Нигде в вашем проекте вы не сфокусируете текстовое поле и не сделаете выбор? Какую операционную систему вы используете? Я посмотрел в сети, но не мог найти ничего, как автоматический выбор текста. –

+0

Ближайший был этот [сообщение] (https://channel9.msdn.com/Forums/TechOff/410195-C--TextBox--How-to-prevent-select-OnFocus) –

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