У меня есть WinForm
с двумя TextBox
es. Я хочу перенести фокус с первого TextBox
на следующий после того, как пользователь нажал Введите. Мой код выглядит следующим образом:Нажмите ввод в текстовое поле, чтобы переместить фокус в следующее текстовое поле, не выбирая текст
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
e.Handled = true;
SomeCustomMethod();
textBox2.Focus();
}
}
Теперь, если пользователь ввел текст перед нажатием ввода, он сначала выбирает весь текст, как показано ниже:
, а затем, нажав ввести для во второй раз фокус переходит к следующему TextBox
. Я не хочу этого. Я хочу, чтобы он пошел прямо к следующему TextBox
, не выбирая весь текст первого TextBox
. Я также проверил его с событием KeyUp
, и это не сработало. Помогите!
Что означает 'SomeCustomMethod()' делать? Я не помню, чтобы текстовые поля просто отбирали полный текст при потере фокуса. – bixarrio
с помощью вашего кода (минус вызов somecustommethod) мой переместился в следующий ящик при нажатии enter ..... и выделен box2 .. not box1 ... – BugFinder
Я такой же, как BugFinder, я использовал все, кроме «SomeCustomMethod () ", и он работал так, как вы этого хотите. –