如何使用特定按键切换到表单上的下一个 "Entity"(示例 TB 或 MaskedTB)

How to switch to a next "Entity" (Example TB or MaskedTB) on the form with a specific key press

我正在尝试找到一种解决方案来复制当您专注于特定文本框或 MaskedTextBox 时选项卡的功能,我已经通过 VS 中的属性按顺序设置了我的 TabIndex

FormaNalaza 是一种形式

private void FormaNalaza_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        //Switch to the next TabIndex Entity
    }
}

这是我的解决方案,但我不知道如何将焦点更改为表单中的下一个实体

我试过了SelectNextControl(*The starting Entity*, 1, 0, 0, 0)

编辑

Form Events

DateTimePicker Events (Its the first DataBox in the form...)

Code (2nd one works when it focused on the DTP)

IDK 为什么,但我猜这可能是因为从表格开始就关注 TB 而不是表格,但这种解释仍然很愚蠢,但如果行得通,请使用它。我需要 20 分钟来生成方法并调用执行您提供的代码的函数...

请记住,这是 .NET Framework,据我所知,它已经过时了。我猜您正在使用 .NET Core

简单实施:

private void FormaNalaza_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        //Switch to the next TabIndex Entity
        SendKeys.Send("{Tab}");
    }
}

标签顺序

输出:

将其添加到事件中:

Tab 键会自动执行此操作,因此如果您可以按 Tab 键而不是 Enter 键,则可以这样做。更改实体的 TabIndex 属性 将更改选项卡在它们之间切换的顺序。