Auslösen einer Taste der Tastatur drücken Sie die Veranstaltung ohne drücken der Taste von der Tastatur
Wie kann ich den trigger drücken einer Taste Ereignis ohne drücken der Taste von der Tastatur? Ich habe versucht mit der Lösung von hier, aber ich bekam die folgende Ausnahme:
Die beste übereinstimmung für die überladene Methode
'System.Windows.PresentationSource.FromVisual(System.Windows.Media.Visual)'
hat einige ungültige Argumente.
Betrachten Umschalt+A enthält 2-Taste drücken Sie die Veranstaltung von der Tastatur,wie kann ich ohne Tastatur drücken?(lasst, drucken Sie einfach Kapital Einer in einem Textfeld auf das klicken auf eine Schaltfläche)
Mein code
var key = Key.A; //Key to send
var target = Keyboard.FocusedElement; //Target element
var routedEvent = Keyboard.KeyDownEvent; //Event to send
target.RaiseEvent(new System.Windows.Input.KeyEventArgs(Keyboard.PrimaryDevice, System.Windows.PresentationSource.FromVisual(target), 0, key) { RoutedEvent = routedEvent });
haben Sie versucht, die sendkeys-Beispiel in deinem link?
ich habe versucht,sondern eine Notwendigkeit, ein Ziel zu senden, dass die Taste.Wenn ein habe 10 Textfelder in einem Formular,was soll dann werden die Kriterien?Ich will schreiben, wo es derzeit den Fokus, für die ich verwendete Tastatur.FocusedElement im obigen code.Haben Sie eine Idee?
Ich würde das focusmanager-Klasse statt: msdn.microsoft.com/en-us/library/... . Auf einer höheren Ebene, obwohl, ich würde wahrscheinlich versuchen, etwas neues zu implementieren, wie dies in jQuery.
jQuery... in WPF?!?
ich habe versucht,sondern eine Notwendigkeit, ein Ziel zu senden, dass die Taste.Wenn ein habe 10 Textfelder in einem Formular,was soll dann werden die Kriterien?Ich will schreiben, wo es derzeit den Fokus, für die ich verwendete Tastatur.FocusedElement im obigen code.Haben Sie eine Idee?
Ich würde das focusmanager-Klasse statt: msdn.microsoft.com/en-us/library/... . Auf einer höheren Ebene, obwohl, ich würde wahrscheinlich versuchen, etwas neues zu implementieren, wie dies in jQuery.
jQuery... in WPF?!?
InformationsquelleAutor ridoy | 2013-03-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
System.Windows.Forms.SendKeys.Send()
getan hat den trick für mich.Für fortgeschrittene Anleitungen und die Liste der verfügbaren codes, konsultieren die Dokumentation für die Methode.
Beispielsweise zum senden von Shift+ ich habe
SendKeys.Send("+(a)")
.InformationsquelleAutor ridoy
Müssen Sie zu werfen, um
Visual
:Könnte man auch angeben, dass Ihr Ziel ist eine bestimmte textbox zum Beispiel :
Was der code tatsächlich tut, ist ausgelöst, das keydown-Ereignis für ein bestimmtes element. Es macht also Sinn, um ein keydown-handler :
die Zeile erzeugt den Fehler?
Ziel.RaiseEvent() in dieser Zeile..
Ich bekomme keine exception. Was ist die vollständige Fehlermeldung?
Ich habe diesen code in einem button-click-Ereignis(ist das ein problem?).Und die volle Ausnahme war, dass das, was ich erwähnt habe.
InformationsquelleAutor Sami Franka
Einfache und zuverlässige Weise zu simulieren, die Tastatur-event-ist die Verwendung der keybd_event-api
Erhalten Sie Verweis auf die es hier
http://www.pinvoke.net/default.aspx/user32.keybd_event
Gibt es weitere Artikel, auf die es hier
http://www.codeproject.com/Articles/7305/Keyboard-Events-Simulation-using-keybd_event-funct
InformationsquelleAutor Murtuza Kabul