簡體   English   中英

文本框LostFocus事件處理

[英]Textbox LostFocus event handling

我的文本框上有一個LostFocus事件,但是通常在按Tab鍵時會發生什么,“ LostFocus”事件將觸發,下一個控件將獲得焦點。 我想將焦點放在文本框(假設發生輸入錯誤),而不是將焦點移到下一個控件。

我嘗試將e事件設置為已處理,但沒有任何更改。

private void phone(object sender, RoutedEventArgs e)
{
    TextBox text = (sender as TextBox);
    if (text.Text == "") return;
    else if (text.Text.Length > 10 || text.Text.Length < 10)
    {
        MessageBox.Show("Valid Input");
        select(sender);
    }
}

這是我要使用的事件,但是正如我所說,焦點移到了下一個控件(這是錯誤的)。

這是邏輯上的焦點更改,而不是鍵盤上的焦點更改。有關更多信息,請參見UIElement.LostFocus事件

您應該嘗試將焦點設置為文本框,如下所示(假設txt1是文本框的ID)

txt1.Focusable = true;
Keyboard.Focus(txt1);

您應該使用KeyPressed事件! 這樣,當您的文本框具有焦點並且用戶輸入鍵時,您可以檢查它是否為Tab鍵。 如果它是Tab鍵,則只需簡單地再次指定文本框焦點即可。 此處的更多信息: https : //msdn.microsoft.com/zh-cn/library/system.windows.forms.control.keypress(v=vs.110).aspx

暫無
暫無

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

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