Compartilhar via


KeyPressEventArgs Classe

Definição

Fornece dados para o evento de KeyPress .

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

Exemplos

O exemplo a seguir ilustra o uso das KeyPressEventArgs teclas para contar conforme elas são pressionadas e para exibir os resultados após cada pressionamento de tecla. Handled é definido como true para impedir que o sistema operacional processe ainda mais a chave. O exemplo pressupõe um formulário com um TextBox colocado nele.

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

Você deve criar uma nova instância dessa classe. Você também deve definir o manipulador de eventos. Você pode fazer isso no construtor para sua classe.

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

Quando o evento especificado é gerado no controle , o método anexado é chamado e o aplicativo pode executar o código em resposta ao evento.

Comentários

Um KeyPressEventArgs especifica o caractere composto quando o usuário pressiona uma tecla. Por exemplo, quando o usuário pressiona SHIFT + K, a KeyChar propriedade retorna um K maiúsculo.

Um KeyPress evento ocorre quando o usuário pressiona uma tecla. Dois eventos que estão intimamente relacionados ao KeyPress evento são KeyUp e KeyDown. O KeyDown evento precede cada KeyPress evento quando o usuário pressiona uma tecla e um KeyUp evento ocorre quando o usuário libera uma tecla. Quando o usuário mantém pressionada uma chave, ocorrem duplicados KeyDown e KeyPress eventos sempre que o caractere se repete. Um KeyUp evento é gerado após a versão.

Com cada KeyPress evento, um KeyPressEventArgs é passado. Um KeyEventArgs é passado com cada KeyDown evento e KeyUp . Um KeyEventArgs especifica se as teclas modificadoras (CTRL, SHIFT ou ALT) foram pressionadas junto com outra tecla. (Essas informações do modificador também podem ser obtidas por meio da ModifierKeys propriedade da Control classe .)

Defina Handled como true para cancelar o KeyPress evento. Isso impede que o controle processe a tecla press.

Observação

Alguns controles processarão determinados traços de chave em KeyDown. Por exemplo, RichTextBox processa a tecla Enter antes KeyPress de ser chamada. Nesses casos, você não pode cancelar o KeyPress evento e deve cancelar o traço da chave.KeyDown

Para obter informações sobre o modelo de evento, consulte Manipulando e gerando eventos.

Construtores

KeyPressEventArgs(Char)

Inicializa uma nova instância da classe KeyPressEventArgs.

Propriedades

Handled

Obtém ou define um valor que indica se o evento KeyPress foi manipulado.

KeyChar

Obtém ou define o caractere que corresponde à tecla pressionada.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também