Control.KeyUp Zdarzenie

Definicja

Występuje, gdy klucz jest zwalniany, gdy kontrolka ma fokus.

C#
public event System.Windows.Forms.KeyEventHandler KeyUp;
C#
public event System.Windows.Forms.KeyEventHandler? KeyUp;

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.

C#
// 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));
    }
}

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ń.

C#
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");
    }
}

Uwagi

Zdarzenia klawiszy zachodzą w następującej kolejności:

  1. KeyDown

  2. KeyPress

  3. KeyUp

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ń.

Dotyczy

Produkt Wersje
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Zobacz też