Číst v angličtině

Sdílet prostřednictvím


Control.KeyUp Událost

Definice

Nastane při uvolnění klíče, zatímco ovládací prvek má fokus.

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

Event Type

Příklady

Následující příklad kódu používá KeyUp událost s Help třídou k zobrazení nápovědy stylu automaticky otevíraných oken uživateli.

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

Následující příklad kódu ukazuje pořadí vzestupu KeyDownudálostí , KeyUp a KeyPress také postup registrace obslužných rutin událostí na nich.

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

Poznámky

Události kláves se generují v tomto pořadí:

  1. KeyDown

  2. KeyPress

  3. KeyUp

Pokud chcete zpracovávat události klávesnice pouze na úrovni formuláře a nepovolovat příjem událostí klávesnice jinými ovládacími prvky, nastavte KeyPressEventArgs.Handled vlastnost v metodě zpracování událostí formuláře KeyPress na truehodnotu . Některé klávesy, jako jsou klávesy TAB, RETURN, ESC a šipkové klávesy, jsou zpracovávány ovládacími prvky automaticky. Pokud chcete, aby tyto klíče vyvolaly KeyUp událost, musíte přepsat metodu IsInputKey v každém ovládacím prvku ve formuláři. Kód pro přepsání IsInputKey by měl určit, jestli je stisknuta jedna ze speciálních kláves, a vrátit hodnotu true.

Další informace o zpracování událostí najdete v tématu Zpracování a vyvolávání událostí.

Platí pro

Produkt Verze
.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

Viz také