Control.KeyUp Zdarzenie
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.
Występuje, gdy klucz jest zwalniany, gdy kontrolka ma fokus.
public:
event System::Windows::Forms::KeyEventHandler ^ KeyUp;
public event System.Windows.Forms.KeyEventHandler KeyUp;
public event System.Windows.Forms.KeyEventHandler? KeyUp;
member this.KeyUp : System.Windows.Forms.KeyEventHandler
Public Custom Event KeyUp As KeyEventHandler
Typ zdarzenia
Przykłady
Poniższy przykład kodu używa KeyUp zdarzenia z klasą Help , aby wyświetlić pomoc w stylu wyskakującym dla użytkownika.
// This example demonstrates how to use the KeyUp event with the Help class to display
// pop-up style help to the user of the application. When the user presses F1, the Help
// class displays a pop-up window, similar to a ToolTip, near the control. This example assumes
// that a TextBox control, named textBox1, has been added to the form and its KeyUp
// event has been connected to this event handler method.
private:
void textBox1_KeyUp( Object^ /*sender*/, System::Windows::Forms::KeyEventArgs^ e )
{
// Determine whether the key entered is the F1 key. Display help if it is.
if ( e->KeyCode == Keys::F1 )
{
// Display a pop-up help topic to assist the user.
Help::ShowPopup( textBox1, "Enter your first name", Point(textBox1->Right,this->textBox1->Bottom) );
}
}
// This example demonstrates how to use the KeyUp event with the Help class to display
// pop-up style help to the user of the application. When the user presses F1, the Help
// class displays a pop-up window, similar to a ToolTip, near the control. This example assumes
// that a TextBox control, named textBox1, has been added to the form and its KeyUp
// event has been contected to this event handler method.
private void textBox1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
// Determine whether the key entered is the F1 key. Display help if it is.
if(e.KeyCode == Keys.F1)
{
// Display a pop-up help topic to assist the user.
Help.ShowPopup(textBox1, "Enter your first name", new Point(textBox1.Right, this.textBox1.Bottom));
}
}
' This example demonstrates how to use the KeyUp event with the Help class to display
' pop-up style help to the user of the application. When the user presses F1, the Help
' class displays a pop-up window, similar to a ToolTip, near the control. This example assumes
' that a TextBox control, named textBox1, has been added to the form and its KeyUp
' event has been contected to this event handler method.
Private Sub textBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles textBox1.KeyUp
' Determine whether the key entered is the F1 key. Display help if it is.
If e.KeyCode = Keys.F1 Then
' Display a pop-up help topic to assist the user.
Help.ShowPopup(textBox1, "Enter your first name", New Point(textBox1.Right, Me.textBox1.Bottom))
End If
End Sub
Poniższy przykład kodu pokazuje kolejność wzrostu KeyDownKeyUp liczby zdarzeń i KeyPress , a także sposób rejestrowania na nich programów obsługi zdarzeń.
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
textBox2.Multiline = true;
textBox2.ScrollBars = ScrollBars.Both;
//Setup events that listens on keypress
textBox1.KeyDown += TextBox1_KeyDown;
textBox1.KeyPress += TextBox1_KeyPress;
textBox1.KeyUp += TextBox1_KeyUp;
}
// Handle the KeyUp event to print the type of character entered into the control.
private void TextBox1_KeyUp(object sender, KeyEventArgs e)
{
textBox2.AppendText( $"KeyUp code: {e.KeyCode}, value: {e.KeyValue}, modifiers: {e.Modifiers}" + "\r\n");
}
// Handle the KeyPress event to print the type of character entered into the control.
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
textBox2.AppendText( $"KeyPress keychar: {e.KeyChar}" + "\r\n");
}
// Handle the KeyDown event to print the type of character entered into the control.
private void TextBox1_KeyDown(object sender, KeyEventArgs e)
{
textBox2.AppendText( $"KeyDown code: {e.KeyCode}, value: {e.KeyValue}, modifiers: {e.Modifiers}" + "\r\n");
}
}
Public Class Form2
' Handle the KeyDown event to print the type of character entered into the control.
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
TextBox2.AppendText($"KeyDown code: {e.KeyCode}, value: {e.KeyValue}, modifiers: {e.Modifiers}" + vbCrLf)
End Sub
' Handle the KeyPress event to print the type of character entered into the control.
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
TextBox2.AppendText($"KeyPress keychar: {e.KeyChar}" + vbCrLf)
End Sub
' Handle the KeyUp event to print the type of character entered into the control.
Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyUp
TextBox2.AppendText($"KeyUp code: {e.KeyCode}, value: {e.KeyValue}, modifiers: {e.Modifiers}" + vbCrLf)
End Sub
End Class
Uwagi
Zdarzenia klawiszy zachodzą w następującej kolejności:
Aby obsługiwać zdarzenia klawiatury tylko na poziomie formularza i nie włączać innych kontrolek do odbierania zdarzeń klawiatury, ustaw KeyPressEventArgs.Handled właściwość w metodzie obsługi zdarzeń formularza KeyPress na true
. Niektóre klucze, takie jak TAB, RETURN, ESC i klawisze strzałek, są obsługiwane automatycznie przez kontrolki. Aby te klucze zgłaszały KeyUp zdarzenie, należy zastąpić IsInputKey metodę w każdej kontrolce formularza. Kod IsInputKey zastąpienia elementu musi określić, czy jeden z klawiszy specjalnych jest naciśnięty i zwraca wartość .true
Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.