我有8个小文本框,最大长度为1,我想这样做,当有人在其中一个框中键入一个字符时,它会自动将光标移动到下一个框,而无需用户按Tab键或手动点击赢得10 UWp的下一个方框 有一个简单的方法吗?
答案 0 :(得分:1)
它自动将光标移动到下一个框而无需用户按Tab键或手动点击win 10 UWp中的下一个框有没有一种简单的方法可以做到这一点?
Focus方法就是您想要的。如果您因键盘交互而设置焦点,请将FocusState.Keyboard作为参数传递,例如标签顺序或按键。
我已经制作了一个简单的代码示例供您参考:
<StackPanel Orientation="Horizontal" Height="50">
<TextBox x:Name="txb1" MaxLength="1" Width="20" TextChanged="txb_TextChanged"></TextBox>
<TextBox x:Name="txb2" MaxLength="1" Width="20" TextChanged="txb_TextChanged" Margin="10 0 0 0"></TextBox>
</StackPanel>
private void txb_TextChanged(object sender, TextChangedEventArgs e)
{
TextBox textbox = sender as TextBox;
if (!string.IsNullOrEmpty(textbox.Text.Trim()))
{
txb2.Focus(FocusState.Keyboard);
}
}