C# 在文本框中按enter键可将焦点移动到下一个文本框,而无需选择文本

C# 在文本框中按enter键可将焦点移动到下一个文本框,而无需选择文本,c#,winforms,C#,Winforms,我有一个带有两个文本框的WinForm。我想在用户按下Enter键后将焦点从第一个文本框移动到下一个。我的代码如下所示: private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { e.Handled = true; SomeCustomMethod(); textBox2.Focu

我有一个带有两个文本框的
WinForm
。我想在用户按下Enter键后将焦点从第一个
文本框移动到下一个。我的代码如下所示:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Enter)
    {
        e.Handled = true;
        SomeCustomMethod();
        textBox2.Focus();
    }
}
现在,如果用户在按enter键之前输入了一些文本,它将首先选择整个文本,如下所示:


然后,第二次按enter键,焦点将移动到下一个
文本框
。我不想那样。我希望它直接转到下一个
文本框
,而不选择第一个
文本框
的全部文本。我还使用
KeyUp
事件对它进行了测试,但它不起作用。救命啊

只有当焦点在
文本框中时,才能选择
文本框中的文本。
当你说:

现在,如果用户在按enter键之前输入了一些文本,它将首先选择整个文本

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

your_textbox_Name.Select

然后删除这一行,你的幽灵般的自动选择就会消失。

SomeCustomMethod()
做了什么?我不记得文本框只是在失去焦点时选择其全文。使用您的代码(减去somecustommethod调用),我的文本框在按enter键时移动到下一个框。。。。。并突出显示框2。。不是box1…我和BugFinder一样,除了“SomeCustomMethod()”之外,我什么都用了,它可以按照您的要求工作。这里也一样。我怀疑
SomeCustomMethod()
中的某些内容选择了文本,我觉得我有点不清楚。您希望它通过按Enter键在
文本框
之间切换,但您不希望它在移动到下一个框时从框中选择文本,对吗?我不使用您的\u TextBox\u名称。选择。我只是查看了我们库中的SomeCustomMethod(),在那里我也没有看到这样的方法?您使用的操作系统是什么?我在网上查了一下,但找不到像自动选择文本这样的东西。最接近的是我从未在任何地方使用过选择方法。我们可能在核心库的深处使用过它,但我没有使用过。我用的是Windows10