Maison >développement back-end >C++ >Comment puis-je générer par programme des événements Keypress et TextInput en C# WPF ?
Générer par programmation des événements clés en C#
La simulation d'événements clés en C# peut être réalisée grâce à diverses techniques. Voici une manière détaillée d'utiliser le framework WPF :
Solution WPF
Pour simuler une pression sur une touche sur un élément WPF spécifique, par exemple en appuyant sur la touche Inser sur l'élément actuellement ciblé :
<code class="language-csharp">var key = Key.Insert; // 要发送的键 var target = Keyboard.FocusedElement; // 目标元素 var routedEvent = Keyboard.KeyDownEvent; // 要发送的事件 target.RaiseEvent( new KeyEventArgs( Keyboard.PrimaryDevice, PresentationSource.FromVisual(target), 0, key) { RoutedEvent = routedEvent } );</code>
Cette solution déclenche l'événement KeyDown directement vers la cible, en contournant le méta-traitement.
Simulation de saisie de texte
Pour simuler un événement TextInput, utilisez le code suivant :
<code class="language-csharp">var text = "Hello"; var target = Keyboard.FocusedElement; var routedEvent = TextCompositionManager.TextInputEvent; target.RaiseEvent( new TextCompositionEventArgs( InputManager.Current.PrimaryKeyboardDevice, new TextComposition(InputManager.Current, target, text)) { RoutedEvent = routedEvent } );</code>
Remarques
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!