wpf 按Tab键而不是Enter键[重复]

pgpifvop  于 2023-01-27  发布在  其他
关注(0)|答案(3)|浏览(142)
    • 此问题在此处已有答案**:

WPF: Move focus to the next item in an ItemsControl on enter(6个答案)
WPF: Moving from one cell to the next when pressing Enter in an ItemsControl(1个答案)
Move Focus to Next Cell on Enter Key Press in WPF DataGrid?(7个答案)
Interpret Enter as Tab with selection(1个答案)
1年前关闭。
我有一个System.Windows.Controls.TextBox,如果用户按下enter-键,我希望应用程序像处理tab-键一样处理它,这样用户就可以跳转到下一个输入控件,就像他通常使用tab键一样。这可能吗?
附注:如果不使用"系统、窗口、窗体、发送键、发送等待"("{Tab}"),我无法找到答案;",我不想将其包含在我的WPF应用程序中。

wqsoz72f

wqsoz72f1#

我不知道这是否是您想要的,但在代码中,您可以使用KeyDown事件来获得如下内容:

private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
    try
    {
        if (e.KeyCode == Keys.TheKeyYouWant)
        {
          NextElementToBeFocus.Focus();
        }
    }
    catch(Exception error)
    {
        //code for any other type of exception
    }

}

有了它,你就可以拥有你想要的键,像一个标签一样。

bxpogfeg

bxpogfeg2#

设置TextBox1.AcceptsReturn = false;
将KeyDown/KeyUp/KeyPress处理程序添加到文本框,如果键为Enter或Return,则调用
TextBox1.MoveFocus (new TraversalRequest(FocusNavigationDirection.Next));

bfrts1fy

bfrts1fy3#

在文本框keydown事件中输入以下代码:

If (e.KeyCode == Keys.Enter)
    {
        This.SelectNextControl(TextBox1, True, False, False, False);
    }

文本框的名称为TextBox1。

相关问题