Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menjana Acara Penekanan Kekunci Secara Program dalam Aplikasi C# WPF?
Penjanaan Programatik Acara Penekanan Kekunci dalam C#
Menjana acara secara berprogram yang mensimulasikan penekanan papan kekunci ialah tugas penting dalam pelbagai senario, seperti ujian automasi dan simulasi antara muka pengguna. Artikel ini meneroka cara untuk mencapai fungsi ini dalam C#, khususnya dalam rangka kerja WPF.
Penyelesaian untuk Aplikasi WPF
Pendekatan mudah untuk aplikasi WPF ialah menggunakan KeyEventArgs kelas dan kaedah RaiseEvent pada elemen sasaran. Berikut ialah contoh untuk menghantar peristiwa Insert Key KeyDown kepada elemen yang sedang difokuskan:
var key = Key.Insert; // Key to send var target = Keyboard.FocusedElement; // Target element var routedEvent = Keyboard.KeyDownEvent; // Event to send target.RaiseEvent( new KeyEventArgs( Keyboard.PrimaryDevice, PresentationSource.FromVisual(target), 0, key) { RoutedEvent=routedEvent } );
Penyelesaian ini menghapuskan keperluan untuk panggilan asli atau memanipulasi dalaman Windows, memastikan kebolehpercayaan. Selain itu, ia membenarkan untuk mensimulasikan penekanan kekunci dengan tepat pada elemen tertentu.
PeristiwaTextInput
Untuk menghantar acara TextInput, kod tersebut berbeza sedikit:
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 } );
Pertimbangan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Acara Penekanan Kekunci Secara Program dalam Aplikasi C# WPF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!