Dela via


Använda tangentbordshändelser

De flesta Windows Forms-program bearbetar tangentbordsinmatning genom att hantera tangentbordshändelserna. Den här artikeln innehåller en översikt över tangentbordshändelserna, inklusive information om när varje händelse ska användas och de data som anges för varje händelse. Mer information om händelser i allmänhet finns i Översikt över händelser.

Tangentbordshändelser

Windows Forms innehåller två händelser som inträffar när en användare trycker på en tangentbordsnyckel och en händelse när en användare släpper en tangentbordsnyckel:

  • Händelsen KeyDown inträffar en gång.
  • Den KeyPress händelsen, som kan inträffa flera gånger när en användare håller ned samma nyckel.
  • Händelsen KeyUp inträffar en gång när en användare släpper en nyckel.

När en användare trycker på en nyckel avgör Windows Forms vilken händelse som ska höjas baserat på om tangentbordsmeddelandet anger en teckennyckel eller en fysisk nyckel. Mer information om tecken och fysiska nycklar finns i Översikt över tangentbord, tangentbordshändelser.

I följande tabell beskrivs de tre tangentbordshändelserna.

Tangentbordshändelse Beskrivning Resultat
KeyDown Den här händelsen utlöses när en användare trycker på en fysisk nyckel. Hanteraren för KeyDown tar emot:

  • En KeyEventArgs parameter som tillhandahåller egenskapen KeyCode (som anger en fysisk tangentbordsknapp).
  • Egenskapen Modifiers (SHIFT, CTRL eller ALT).
  • Egenskapen KeyData (som kombinerar nyckelkoden och modifieraren). Parametern KeyEventArgs innehåller också:

    • Egenskapen Handled, som kan anges för att förhindra att den underliggande kontrollen tar emot nyckeln.
    • Egenskapen SuppressKeyPress, som kan användas för att förhindra KeyPress och KeyUp-händelserna för tangenttryckningen
KeyPress Den här händelsen aktiveras när nyckeln eller tangenterna som trycks in resulterar i ett tecken. En användare trycker till exempel på SKIFTLOCK och den gemena "a"-tangenten, vilket resulterar i versalt "A". KeyPress höjs efter KeyDown.

  • Hanteraren för KeyPress tar emot:
  • En KeyPressEventArgs parameter som innehåller teckenkoden för nyckeln som trycktes på. Den här teckenkoden är unik för varje kombination av en teckennyckel och en modifierarnyckel.

    Till exempel genererar "A"-nyckeln:

    • Teckenkoden 65, om den trycks ned med Skift-tangenten
    • Eller caps lock är på, 97 om det trycks av sig själv,
    • Och 1, om den trycks ned med Ctrl-tangenten .
KeyUp Den här händelsen utlöses när en användare släpper en fysisk nyckel. Hanteraren för KeyUp tar emot:

  • Parametern KeyEventArgs:

    • Vilket ger egenskapen KeyCode (som anger en fysisk tangentbordsknapp).
    • Egenskapen Modifiers (SHIFT, CTRL eller ALT).
    • Egenskapen KeyData (som kombinerar nyckelkoden och modifieraren).

Se även