簡體   English   中英

按下Tab鍵(.net 3.5)時使用Control.Focus()跳轉制表符順序

[英]Jumping tab order using Control.Focus() when pressing Tab key (.net 3.5)

我有三個文本框:

<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();
}

當我按TAB鍵並將焦點放在textBox1上時,焦點將移到textBox2上,而獨立於textBox3.Focus()。 我怎樣才能真正專注於textBox3?

經過一些測試,我發現您當前正在捕獲錯誤的事件。 將XAML代碼的第一行更改為以下內容

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

並實現以下方法

private void textBox1_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) {

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

窗口中的焦點已正確設置為所需的控件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM