在文本框中按Enter键可将焦点移动到下一个文本框而不选择文本

时间:2016-11-30 15:04:22

标签: c# winforms

我有WinFormTextBox个es。我想在用户按下 Enter 后将焦点从第一个TextBox移动到下一个焦点。我的代码如下所示:

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

现在,如果用户在按Enter键之前输入了一些文本,则首先选择整个文本,如下所示:

enter image description here

然后第二次按Enter键,焦点移动到下一个TextBox。我不想要那个。我希望它直接转到下一个TextBox而不选择第一个TextBox的整个文本。我还用KeyUp事件对它进行了测试,但它没有用。救命啊!

1 个答案:

答案 0 :(得分:1)

TextBox内的文字只有在焦点位于其上时才能被选中。 当你说:

  

“现在,如果用户在按Enter键之前输入了一些文本,则首先选择整个文本”

然后你很可能自己做。请点击 Control + F 并搜索整个项目:

your_textbox_Name.Select

然后删除此行,您的幽灵自动选择应该消失