KeyPressEventArgs Klasa

Definicja

Udostępnia dane dla zdarzenia KeyPress.Provides data for the KeyPress event.

public ref class KeyPressEventArgs : EventArgs
public class KeyPressEventArgs : EventArgs
[System.Runtime.InteropServices.ComVisible(true)]
public class KeyPressEventArgs : EventArgs
type KeyPressEventArgs = class
    inherit EventArgs
[<System.Runtime.InteropServices.ComVisible(true)>]
type KeyPressEventArgs = class
    inherit EventArgs
Public Class KeyPressEventArgs
Inherits EventArgs
Dziedziczenie
KeyPressEventArgs
Atrybuty

Przykłady

Poniższy przykład ilustruje użycie KeyPressEventArgs do zliczania kluczy podczas naciskania i wyświetlania wyników po naciśnięciu klawisza.The following example illustrates using the KeyPressEventArgs to count keys as they are pressed and to display the results after each key press. Handled jest następnie ustawiany na wartość true, aby system operacyjny mógł nadal przetwarzać klucz.Handled is then set to true to keep the operating system from further processing the key. W przykładzie przyjęto założenie formularza z TextBox umieszczonym na nim.The example assumes a form with a TextBox placed on it.

public ref class myKeyPressClass
{
private:
   static long keyPressCount = 0;
   static long backspacePressed = 0;
   static long returnPressed = 0;
   static long escPressed = 0;
   TextBox^ textBox1;
   void myKeyCounter( Object^ sender, KeyPressEventArgs^ ex )
   {
      switch ( ex->KeyChar )
      {
            // Counts the backspaces.
         case '\b':
         backspacePressed = backspacePressed + 1;
         break;

            // Counts the ENTER keys.
         case '\r':
         returnPressed = returnPressed + 1;
         break;

            // Counts the ESC keys.  
         case (char)27:
         escPressed = escPressed + 1;
         break;
            
            // Counts all other keys.
         default:
         keyPressCount = keyPressCount + 1;
         break;
      }
      textBox1->Text = String::Concat( 
         backspacePressed, " backspaces pressed\r\n",
         escPressed, " escapes pressed\r\n",
         returnPressed, " returns pressed\r\n",
         keyPressCount, " other keys pressed\r\n" );
      ex->Handled = true;
   }
};
public class myKeyPressClass 
 {
     static long keyPressCount = 0 ;
     static long backspacePressed =  0;
     static long returnPressed = 0 ;
     static long escPressed = 0 ;
     private TextBox textBox1 = new TextBox();
     private void myKeyCounter(object sender, KeyPressEventArgs ex)
     {
     switch(ex.KeyChar)
     {
             // Counts the backspaces.
         case '\b':
         backspacePressed = backspacePressed + 1;
         break ;
             // Counts the ENTER keys.
         case '\r':
         returnPressed = returnPressed + 1 ;
         break ;
             // Counts the ESC keys.  
         case (char)27:
         escPressed = escPressed + 1 ;
         break ;
             // Counts all other keys.
         default:
         keyPressCount = keyPressCount + 1 ;
         break;
     }
     
     textBox1.Text = 
         backspacePressed + " backspaces pressed\r\n" + 
         escPressed + " escapes pressed\r\n" +
         returnPressed + " returns pressed\r\n" +
         keyPressCount + " other keys pressed\r\n" ;
     ex.Handled = true ;
     }
 }
Public Class myKeyPressClass
    Private Shared keyPressCount As Long = 0
    Private Shared backspacePressed As Long = 0
    Private Shared returnPressed As Long = 0
    Private Shared escPressed As Long = 0
    Private textBox1 As TextBox
    
    Private Sub myKeyCounter(sender As Object, ex As KeyPressEventArgs)
        Select Case ex.KeyChar
            ' Counts the backspaces.
            Case ControlChars.Back
                backspacePressed = backspacePressed + 1
            ' Counts the ENTER keys.
            Case ControlChars.Lf
                returnPressed = returnPressed + 1
            ' Counts the ESC keys.  
            Case Convert.ToChar(27)
                escPressed = escPressed + 1
            ' Counts all other keys.
            Case Else
                keyPressCount = keyPressCount + 1
        End Select
        
        textBox1.Text = backspacePressed & " backspaces pressed" & _
            ControlChars.Lf & ControlChars.Cr & escPressed & _
            " escapes pressed" & ControlChars.CrLf & returnPressed & _
            " returns pressed" & ControlChars.CrLf & keyPressCount & _
            " other keys pressed" & ControlChars.CrLf
        ex.Handled = True
    End Sub
End Class

Należy utworzyć nowe wystąpienie tej klasy.You must create a new instance of this class. Należy również ustawić obsługę zdarzeń.You must also set the event handler. Można to zrobić w konstruktorze klasy.You can do this in the constructor for your class.

public:
   myKeyPressClass^ myKeyPressHandler;

   Form1()
   {
      myKeyPressHandler = gcnew myKeyPressClass;

      InitializeComponent();

      textBox1->KeyPress += gcnew KeyPressEventHandler(
         myKeyPressHandler, &myKeyPressClass::myKeyCounter );
   }
myKeyPressClass myKeyPressHandler = new myKeyPressClass();
public Form1()
{
     InitializeComponent();
 
     textBox1.KeyPress += new KeyPressEventHandler(myKeyPressHandler.myKeyCounter);
}
Private myKeyPressHandler As New myKeyPressClass()

Public Sub New()
    InitializeComponent()
    
    AddHandler textBox1.KeyPress, AddressOf myKeyPressHandler.myKeyCounter
End Sub

Gdy określone zdarzenie jest zgłaszane w formancie, przyłączona Metoda jest wywoływana i aplikacja może wykonać kod w odpowiedzi na zdarzenie.When the specified event is raised in the control, the attached method is called and the application can execute code in response to the event.

Uwagi

KeyPressEventArgsOkreśla znak, który jest tworzony podczas naciskania klawisza przez użytkownika.A KeyPressEventArgs specifies the character that is composed when the user presses a key. Na przykład, gdy użytkownik naciśnie klawisz SHIFT + K, KeyChar Właściwość zwraca wielką literę K.For example, when the user presses SHIFT + K, the KeyChar property returns an uppercase K.

KeyPressZdarzenie pojawia się, gdy użytkownik naciśnie klawisz.A KeyPress event occurs when the user presses a key. Dwa zdarzenia, które są ściśle związane ze KeyPress zdarzeniem, są KeyUp i KeyDown .Two events that are closely related to the KeyPress event are KeyUp and KeyDown. KeyDownZdarzenie poprzedza każde KeyPress zdarzenie, gdy użytkownik naciśnie klawisz, a KeyUp zdarzenie występuje, gdy użytkownik zwolni klucz.The KeyDown event precedes each KeyPress event when the user presses a key, and a KeyUp event occurs when the user releases a key. Gdy użytkownik zatrzyma klucz, duplikaty KeyDown i KeyPress zdarzenia pojawiają się za każdym razem, gdy znak zostanie powtórzony.When the user holds down a key, duplicate KeyDown and KeyPress events occur each time the character repeats. KeyUpPo wydaniu jest generowane jedno zdarzenie.One KeyUp event is generated upon release.

Każde KeyPress zdarzenie KeyPressEventArgs jest przesyłane.With each KeyPress event, a KeyPressEventArgs is passed. KeyEventArgsJest przesyłany z każdym KeyDown KeyUp zdarzeniem i.A KeyEventArgs is passed with each KeyDown and KeyUp event. KeyEventArgsOkreśla, czy wszystkie klawisze modyfikujące (Ctrl, Shift lub ALT) zostały naciśnięte wraz z innym kluczem.A KeyEventArgs specifies whether any modifier keys (CTRL, SHIFT, or ALT) were pressed along with another key. (Te informacje o modyfikatorze można także uzyskać za pomocą ModifierKeys właściwości Control klasy).(This modifier information can also be obtained through the ModifierKeys property of the Control class.)

Ustaw Handled , aby true anulować KeyPress zdarzenie.Set Handled to true to cancel the KeyPress event. Dzięki temu formant nie przetwarza nacisku klawisza.This keeps the control from processing the key press.

Uwaga

Niektóre kontrolki będą przetwarzać niektóre pociągnięcia klawiszy na KeyDown .Some controls will process certain key strokes on KeyDown. Na przykład RichTextBox przetwarza przed wywołaniem klawisz ENTER KeyPress .For example, RichTextBox processes the Enter key before KeyPress is called. W takich przypadkach nie można anulować KeyPress zdarzenia i należy anulować naciśnięcie klawisza KeyDown .In such cases, you cannot cancel the KeyPress event, and must cancel the key stroke from KeyDown instead.

Informacje o modelu zdarzenia można znaleźć w temacie Obsługa iwywoływanie zdarzeń.For information about the event model, see Handling and Raising Events.

Konstruktory

KeyPressEventArgs(Char)

Inicjuje nowe wystąpienie klasy KeyPressEventArgs.Initializes a new instance of the KeyPressEventArgs class.

Właściwości

Handled

Pobiera lub ustawia wartość wskazującą, czy KeyPress zdarzenie zostało obsłużone.Gets or sets a value indicating whether the KeyPress event was handled.

KeyChar

Pobiera lub ustawia znak odpowiadający Naciśniętemu klawiszowi.Gets or sets the character corresponding to the key pressed.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Dotyczy

Zobacz też