2016-06-11 32 views
0

テキストボックスにLostFocusイベントがありますが、通常はTabキーを押すと "LostFocus"イベントがトリガされ、次のコントロールにフォーカスが移ります。私は、次のコントロールにフォーカスを移動する代わりに、テキストボックス(入力エラーが発生したと仮定)に焦点を当てています。C#:Textbox 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); 
     } 
    } 

この

は私が使用しようとしているイベントですが、私は言ったように、(間違っている)次のコントロールにフォーカスが移動

答えて

-1

あなたはKeyPressedイベントを使用する必要があります! この方法では、テキストボックスにフォーカスがあり、ユーザーがキーを入力すると、タブキーであるかどうかを確認できます。タブキーであれば、テキストボックスのフォーカスを簡単に戻すことができます。詳細情報はこちらhttps://msdn.microsoft.com/en-us/library/system.windows.forms.control.keypress(v=vs.110).aspx

0

それは論理フォーカスの変更だとないキーボードフォーカスの変更詳細については、UIElement.LostFocus Eventをご覧ください。あなたは以下のようなあなたのテキストボックスにフォーカスを設定してみる必要があります

(TXT1を仮定すると、あなたのテキストボックスのIDです)

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

eは、イベントであり、TextBoxのIsFocusedプロパティは取得のみです。 –