Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
5 mai 2010 3 05 /05 /mai /2010 15:35

 

Si vous aviez l’habitude d’utiliser My.Computer.Keyboard.SendKeys avec Winform, vous avez pu constater que cela ne fonctionne pas aussi bien sous WPF.

 

Voici ce que l’on aurait fait avec Winform pour simuler l’appuie de la flèche du bas :

Code :

My.Computer.Keyboard.SendKeys("{DOWN}")

 

 

Le code suivant simule l’appuie sur la flèche du bas en WPF :

Code :

Dim kea As New KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, Key.Down)
kea.RoutedEvent = Keyboard.KeyDownEvent

InputManager.Current.ProcessInput(kea)

 

On obtient le même résultat avec le code suivant :

 

Code :

Dim target As System.Windows.IInputElement = Keyboard.FocusedElement
Dim kea As New KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, Key.Down)
kea.RoutedEvent = Keyboard.KeyDownEvent
target.RaiseEvent(kea)

 

Le second code est intéressant si vous voulez simuler l’appuie d'une touche sur un control qui n’a pas forcément le focus. Il suffit alors de modifier la variable “target”.

Partager cet article

Repost 0
Published by Cyril - dans WPF
commenter cet article

commentaires