我在写一个.NET(4.0)应用程序,用户将进入例如2位数在TextBox
es中,我希望光标在第二个字符输入到一个后自动前进到“下一个”文本框。什么是实施这个最好的方法?n个字符后移动光标到“下一个”文本框
编辑:我有这个PreviewKeyDown
处理程序:
private void ODTextBox_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if (allowedKeys.Contains(e.Key))
{
KeyConverter kc = new KeyConverter();
string letter = kc.ConvertToString(e.Key);
TextBox tb = (TextBox)sender;
if (tb.Text.Length > 1 && tb.SelectedText.Length == 0)
{
this.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
}
}
}
然而,MoveFocus
方法总是使焦点移动到第一我10个文本框。我每TextBox
设置TabIndex
和KeyboardNavigation.TabIndex
,但这没有帮助。
[你尝试过什么了吗?](http://whathaveyoutried.com) –
@HighCore我看着捕捉'KeyDown'事件和编程生成按键来如“标签”到下一个字段,但想知道是否有任何“更好”的方式。 – Conrad