KeyPressEventArgs Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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) |