tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
17
ZUGRIFFE
10497
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Duellking Duellking ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    162
    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
     

  2. #2
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    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.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  3. #3
    Duellking Duellking ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    162
    Kannste mir bitte ein Beispiel geben!!
     

  4. #4
    Kestrel Kestrel ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Ort
    Hünstetten (Hessen)
    Beiträge
    42
    Huhu,

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

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    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
     
    Nachwuchs-Javaprogrammierer

    "Zweifel wir an unserer Power, powern wir unsere Zweifel."

  5. #5
    Duellking Duellking ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    162
    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...
     

  6. #6
    Kestrel Kestrel ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Ort
    Hünstetten (Hessen)
    Beiträge
    42
    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.
     
    Nachwuchs-Javaprogrammierer

    "Zweifel wir an unserer Power, powern wir unsere Zweifel."

  7. #7
    Duellking Duellking ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    162
    Habe schon auf die Form probiert.

    Form1_KeyDown funktioniert einfach nicht
     

  8. #8
    Kestrel Kestrel ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Ort
    Hünstetten (Hessen)
    Beiträge
    42
    setzt du in deinem Konstruktor der Form auch dass KeyPreview auf true?

    also

    this.KeyPreview = true;

    btw. arbeitest du mit dem Visual Studio?
     
    Nachwuchs-Javaprogrammierer

    "Zweifel wir an unserer Power, powern wir unsere Zweifel."

  9. #9
    Duellking Duellking ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    162
    Oh KeyPreview muss ich auch machen?!
    Probiers gleich mal aus.

    Ja ich nutze Visual Studio!
     

  10. #10
    Duellking Duellking ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    162
    Geht trotzdem nicht

    textbox1_KeyDown()
    geht auch nicht!

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

  11. #11
    Duellking Duellking ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    162
    Sry for Triple-Post, kann mir keiner helfen!!
     

  12. #12
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    ev. falsch KeyDown Ereignis gesetzt?
    Ohne Code kann ich mir nur schwer vorstellen warum es nicht funktionieren sollte.

    Wie ich oben schon beschrieb KeyPreview auf true und dann sollten die Tastedrücke normal über das KeyDown, KeyUp oder KeyPress Ereignis der Form laufen.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  13. #13
    Duellking Duellking ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    162
    private Form1()
    {
    //Initiallierierung was da halt steht
    KeyPreview = true;

    }

    private void Form1_KeyDown(object sender, KeyA... e)
    {

    If (e.KeyCode = Keys.M)
    {
    textbox1.Text = "Taste M gedrückt";
    }

    }


    So steht es momentan drinne. Funktioniert aber nicht.
     

  14. #14
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    bitte genauer beschreiben was nicht funktioniert, meine Glaskugel ist in Reparatur.
    Springt er denn beim debuggen in das KeyDown Ereignis?
    Was steht im EventArgs beim Druck auf M? (ev. muss Shift noch gedrückt werden )

    Und bitte den Code so posten wie du ihn wirklich hast.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  15. #15
    akop akop ist offline Grünschnabel
    Registriert seit
    Jan 2010
    Beiträge
    1
    Bei den Vergleichen kommt ein "==", nicht "="
    also
    ...
    If (e.KeyCode == Keys.M)
    ...
     

Ähnliche Themen

  1. Tastendruck, im Hintergrund
    Von Lizard King im Forum Visual Basic 6.0
    Antworten: 6
    Letzter Beitrag: 17.06.08, 14:44
  2. Elementpositionierung bei Tastendruck
    Von bigfella im Forum Flash Plattform
    Antworten: 0
    Letzter Beitrag: 16.06.08, 12:31
  3. Tastendruck abfragen
    Von ts230 im Forum Linux & Unix
    Antworten: 0
    Letzter Beitrag: 07.06.08, 16:57
  4. auf tastendruck reagieren
    Von flashscorpion im Forum Visual Basic 6.0
    Antworten: 6
    Letzter Beitrag: 07.04.07, 17:56
  5. Tastendruck?
    Von teencheng im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 31.01.06, 16:25