C# - Tastendruck

D

Dkl764

Hallo liebe Community,
versuche mich gerade an einem "Taschenrechner" in C#.
Jetzt würde ich auch das ganze über das NumPad eingebbar machen.
Über Google komme ich nicht weiter :(

Mit welchem Befehl kann ich jederzeit prüfen ob eine Taste gedrückt wurde und jenachdem was ausführen?

also sowas wie

If (Taste 1 gedrückt)
{
// mache irgendwas ...
}


Leider finde ich kein passenden Befehl und ich weiß gerade auch nicht wie man das macht das der das immer überprüft nicht nur einmal :(
 
beim Formular die Ereignisse KeyDown, KeyUp oder KeyPress auswerten. Im EventArgs (KeyEventArgs müsstes sein) steht dann was gedrückt wurde.
Damit die Ereignisse auf einem Formular ausgewertet werden können muss noch die Eigenschaft KeyPreview des Formulars auf true gesetzt werden.

Oder alternativ KeyDown, KeyUp oder KeyPress über TextBox auswerten lassen, dann muss aber die TextBox den Focus haben damit dies funktioniert.
 
Huhu,

also setze ein KeyDown-Event auf dein Textfeld, Button, Form, o.ä.

Code:
private void deineKomponente_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                // mache irgendwas...

               e.handeled = true;
            }
        }

Das Enter ersetzt du dann durch deine gewünschte Taste. Das e.handeled = true; gibt an ob dass Event behandelt wurde.
Hoffentlich konnte ich helfen... :)
Falls es doch noch iwo klemmt einfach nochmal fragen.

Gruß Jan
 
Das ist ja nur wenn ich auf dem Button gerade drauf bin, es soll aber immer überprüft werden ob ein Button gedrückt wurde...
 
Hi,

also da es sich ja um einen Taschenrechner handelt, gehe ich mal davon aus, dass du mehere Buttons auf deinem Formular hast, womit du dann 1,2,3,usw in ein Textfeldschreibst oder?

Du könntest dir dass KeyDown-Event auch direkt auf die Form oder ein Textfeld legen.
 
Habe schon auf die Form probiert.

Form1_KeyDown funktioniert einfach nicht :(
 
setzt du in deinem Konstruktor der Form auch dass KeyPreview auf true?

also

this.KeyPreview = true;

btw. arbeitest du mit dem Visual Studio?
 
Oh KeyPreview muss ich auch machen?!
Probiers gleich mal aus.

Ja ich nutze Visual Studio!
 
Geht trotzdem nicht :(

textbox1_KeyDown()
geht auch nicht!

habe was von
KeyDown += KeyEventHandler ...
gelesen. Was ist damit
 

Neue Beiträge

Zurück