C# ermitteln wann eine Taste gedrückt wurde?
Hey Leute. Kann mir jemand helfen, ich möchte das man mein Programm einfacher bedienen kann mittels der Tastatur. Jetzt weiß ich leider nicht wie ich das Anstellen soll^^.
Ich benutze Visual Studio, Windows Forms, C#
Wenn ich was importieren muss bitte dazuschreiben.
Vielen dank schon mal :D
6 Antworten
Paeve liegt richtig. Aber einfach so kannst du nicht den Key filtern wenn du was ausgewählt hast.
Jedes Objekt (fast jedes) hat ein KeyPressEvent. Dieses wird aber nur getriggert wenn das Objekt auch ausgewählt ist (in dem Fall die Form)
Sollte ein Button ausgewählt sein geht das nicht. Du kannst aber mal nach "C# keypress without Focus" googlen, wirst aber wohl auf DLL Dateien zugreifen müssen
Hallo
Bei Windows Forms bin ich mir nicht sicher. Bei der WPF Programmierung kannst du das über sogenannte "KeyDown" Events abfangen. Die MSDN-Seite von MS bietet aber folgenden Eintrag an:
https://msdn.microsoft.com/de-de/library/system.windows.forms.control.keydown(v=vs.110).aspx
Die Control Klasse verfügt über drei Ereignisse, die zum Auswerten der Tastaturanschläge gedacht sind:
KeyDown
KeyPress
KeyUp
Wenn du global (auch außerhalb der Form) einen Tastendruck abfangen willst, kannst du einen Keyboard Hook verwenden.
https://stackoverflow.com/questions/604410/global-keyboard-capture-in-c-sharp-application