KeyPressEventArgs Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Udostępnia dane dla zdarzenia 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
- Dziedziczenie
- Atrybuty
Przykłady
Poniższy przykład ilustruje użycie KeyPressEventArgs klawiszy do zliczanie klawiszy podczas ich naciśnięcia i wyświetlanie wyników po każdym naciśnięciu klawisza. Handled następnie ustawiono wartość true, aby system operacyjny nie przetwarzał klucza. W przykładzie założono, że formularz z umieszczonym na nim formularzem TextBox .
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
Musisz utworzyć nowe wystąpienie tej klasy. Należy również ustawić procedurę obsługi zdarzeń. Możesz to zrobić w konstruktorze dla klasy.
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
Po wywołaniu określonego zdarzenia w kontrolce dołączona metoda jest wywoływana, a aplikacja może wykonywać kod w odpowiedzi na zdarzenie.
Uwagi
Element KeyPressEventArgs określa znak, który składa się, gdy użytkownik naciska klawisz. Na przykład gdy użytkownik naciska klawisze SHIFT + K, KeyChar właściwość zwraca wielkie litery K.
Zdarzenie KeyPress występuje, gdy użytkownik naciska klawisz. Dwa zdarzenia, które są ściśle związane ze zdarzeniem KeyPress , to KeyUp i KeyDown. Zdarzenie KeyDown poprzedza każde KeyPress zdarzenie, gdy użytkownik naciska klawisz, a KeyUp zdarzenie występuje, gdy użytkownik zwolni klucz. Gdy użytkownik przytrzymuje klucz, zduplikowane KeyDown i KeyPress zdarzenia występują za każdym razem, gdy znak się powtarza. Jedno KeyUp zdarzenie jest generowane po wydaniu.
Po każdym KeyPress zdarzeniu przekazywana jest wartość KeyPressEventArgs . Element A KeyEventArgs jest przekazywany z każdym KeyDown zdarzeniem i KeyUp . A KeyEventArgs określa, czy wszystkie klawisze modyfikatora (CTRL, SHIFT lub ALT) zostały naciśnięci wraz z innym klawiszem. (Te informacje modyfikujące można również uzyskać za pomocą ModifierKeys właściwości Control klasy).
Ustaw wartość Handled , aby anulować true
KeyPress
zdarzenie. Dzięki temu kontrolka nie przetwarza naciśnięcia klawisza.
Uwaga
Niektóre kontrolki będą przetwarzać pewne pociągnięcia klawiszy na .KeyDown Na przykład RichTextBox przetwarza klucz Enter przed KeyPress wywołaniami. W takich przypadkach nie można anulować KeyPress zdarzenia i zamiast tego anulować pociągnięcie KeyDown klucza.
Aby uzyskać informacje o modelu zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.
Konstruktory
KeyPressEventArgs(Char) |
Inicjuje nowe wystąpienie klasy KeyPressEventArgs. |
Właściwości
Handled |
Pobiera lub ustawia wartość wskazującą, czy KeyPress zdarzenie zostało obsłużone. |
KeyChar |
Pobiera lub ustawia znak odpowiadający naciśnięciu klawisza. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |