按 T​​ab 键时使用 Control.Focus() 跳转 Tab 键顺序 (.net 3.5)

发布于 2024-11-05 07:52:53 字数 449 浏览 1 评论 0原文

我有三个文本框:

<TextBox Name="textBox1" LostFocus="textBox1_LostFocus" />
<TextBox Name="textBox2" />
<TextBox Name="textBox3" />

通过此事件:

private void textBox1_LostFocus(object sender, RoutedEventArgs e)
{
    if (textBox1.Text.Equals("some value"))
        textBox3.Focus();
}

当我在 textBox1 上按下 TAB 键时,焦点将转到 textBox2,与 textBox3.Focus() 无关。 我怎样才能真正将焦点集中在textBox3上?

I have three text boxes:

<TextBox Name="textBox1" LostFocus="textBox1_LostFocus" />
<TextBox Name="textBox2" />
<TextBox Name="textBox3" />

With this event:

private void textBox1_LostFocus(object sender, RoutedEventArgs e)
{
    if (textBox1.Text.Equals("some value"))
        textBox3.Focus();
}

When I press TAB key with focus on textBox1, the focus goes to textBox2, independently of textBox3.Focus().
How could I really set focus on textBox3?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仅冇旳回忆 2024-11-12 07:52:53

经过一些测试,我发现您当前捕获了错误的事件。将 XAML 代码的第一行更改为以下内容

<TextBox Name="textBox1" LostKeyboardFocus="textBox1_LostKeyboardFocus" />

并实现以下方法,

private void textBox1_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) {

    if (textBox1.Text.Equals("some value")) {
        Keyboard.Focus(textBox3);
    }
}

窗口中的焦点将正确设置为所需的控件。

After some testing I found that you are currently catching the wrong event. Changing the first line of your XAML code into the following

<TextBox Name="textBox1" LostKeyboardFocus="textBox1_LostKeyboardFocus" />

and implementing the following method

private void textBox1_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) {

    if (textBox1.Text.Equals("some value")) {
        Keyboard.Focus(textBox3);
    }
}

the focus in the window is correctly set to the desired control.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文