2010-09-02 130 views
1

我有几个文本框。我想每次点击用户到下一个文本框,按回车。 文本框的Tabindex设置正确。C#tabindex - 泛化(桌面应用程序)

我有一样的东西:

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

应该如何setFocusOnNextElement是什么样子?如果我想使它一般。我可以解析每个控件,并找出下一步,但我有一种感觉,这可以做得更好。

回答

5

我不会建议像构建函数那样构建函数,因为它需要参数为object

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

    if (target != null) target.Focus(); 
} 

然后调用它是这样的:

SetFocusOnNextElement((Control)sender);