Erkennen Shift-Taste gedrückt ohne die Verwendung von Ereignissen in Windows Forms?
Ich muss in der Lage sein, um zu erkennen, dass die shift-Taste gehalten wird, aber ich will nicht, um Ereignisse oder Globale Variablen zu bestimmen. Gibt es eine API in C# können Sie Fragen, welche Tasten aktuell gedrückt statt mit der Veranstaltung?
InformationsquelleAutor der Frage | 2009-02-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese werden auch
true
wenn ein anderer modifier-key ist auch nach unten (z.B. Strg+Shift). Wenn Sie möchten, um zu überprüfen, ob Shift alleine gedrückt wird, ohne andere Modifikatoren verwendenBeachten Sie, dass auch dies wird
true
wenn ein anderer nicht-Modifikator ist (ZB Shift+A). Wenn Sie möchten, um zu überprüfen, ob die Umschalttaste und nur Shift gedrückt wird, müssen Sie einen API-Aufruf.Wenn Sie in eine Klasse, die erbt
Control
(wie ein Formular), können Sie entfernen Sie dieControl
qualifier. (static
Eigenschaften brauchen nicht-Qualifikanten in vererbten Klassen)InformationsquelleAutor der Antwort SLaks
Form.ModifierKeys
(statische Eigenschaft)
InformationsquelleAutor der Antwort Dan Byström
Können Sie eine low-level-keyboard-hook.
InformationsquelleAutor der Antwort ConsultUtah
Nicht sicher, ob das in C# verfügbar, aber Sie können rufen Sie GetAsyncKeyState. Diese Methode gibt den Status des Schlüssels an der Zeit die Methode aufgerufen wird.
Nenne es von C# müssen Sie die Verwendung von interop-wie alle anderen Win32-API.
InformationsquelleAutor der Antwort JoshBerke