C#tabindex - generalize(桌面应用)

Ash*_*Ash 1 c# textbox desktop-application tabindex

我有几个文本框.我想在每次按下回车键时将用户指向下一个文本框.文本框正确设置了Tabindex.

我有类似的东西:

 private void textBox_Description_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == (char)Keys.Enter)
        {
            e.Handled = true;
            setFocusOnNextElement(sender);
        }
    } 
Run Code Online (Sandbox Code Playgroud)

setFocusOnNextElement应该怎么样?如果我想让它变得一般.我可以解析每个控件,然后找到下一个控件,但我觉得这可以做得更好.

Ada*_*son 5

我不建议像你拥有它一样构造函数,因为它需要参数为a object.

private static void SetFocusOnNextElement(Control control)
{
    Control target = Control.GetNextControl(control, true);

    if (target != null) target.Focus();
}
Run Code Online (Sandbox Code Playgroud)

然后像这样调用它:

SetFocusOnNextElement((Control)sender);
Run Code Online (Sandbox Code Playgroud)