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 varje händelse tillhandahåller. Mer information om händelser i allmänhet finns i Översikt över händelser.

Tangentbordshändelser

Windows Forms genererar följande händelser när en användare trycker på och släpper en tangentbordsnyckel:

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.

KeyDown-händelse

Händelsen KeyDown utlöses när en användare trycker på en fysisk nyckel. Om nyckeln hålls nere upprepas den här händelsen med operativsystemets tangentbordsrepetitionsfrekvens.

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.
  • Egenskapen Handled som hindrar den underliggande kontrollen från att ta emot nyckeln när den anges.
  • Egenskapen SuppressKeyPress , som undertrycker KeyPress och KeyUp händelser för tangenttryckningen.

KeyPress-händelse

Händelsen KeyPress aktiveras när nyckeln eller tangenterna som trycks in resulterar i ett tecken. Om du till exempel trycker på Skift-tangenten och den lilla "a"-tangenten skapas en versal bokstav "A". KeyPress utlöses efter KeyDown och upprepas i operativsystemets tangentbords repetitionshastighet medan tangenten hålls.

Hanteraren för KeyPress tar emot en KeyPressEventArgs parameter som innehåller teckenkoden för den tangent som trycks in. 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 .
  • Teckenkoden 65, om Caps Lock är aktiverat.
  • Teckenkoden 97, när den trycks ned ensam.
  • Teckenkoden 1, om den trycks ned med Ctrl-tangenten.

KeyUp-händelse

Händelsen KeyUp utlöses en gång när en användare släpper en fysisk nyckel.

Hanteraren för KeyUp 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.

Se även