Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Did user use keyboard or mouse to leave WPF TextBox?

I have a handler for the TextBox's PreviewLostKeyboardFocus event. It fires when I leave the TextBox using the keyboard (Tab key) or the mouse (by clicking on another TextBox on the form).

The handler takes a KeyboardFocusChangedEventArgs, which has a property named KeyboardDevice, which isn't null in either scenario (I was hoping to find null here when using the mouse).

Question: How can I tell whether a user used the keyboard or the mouse to leave a WPF TextBox?

like image 772
lance Avatar asked Jun 14 '11 13:06

lance


1 Answers

The e.KeyboardDevice.GetKeyStates(Key.Tab) (where e is of type KeyboardFocusChangedEventArgs) reports:

  • None (when mouse was used to change focus)
  • Down, Toggled (when TAB was use to leave the TextBox)

Would that work for you?

like image 56
Philipp Schmid Avatar answered Sep 29 '22 14:09

Philipp Schmid