[英]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.