Control.KeyUp 事件

定義

發生於放開按鍵且焦點在控制項時。

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

事件類型

範例

下列程式碼範例會 KeyUp 使用 事件搭配 Help 類別,向使用者顯示快顯樣式說明。

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

下列程式碼範例示範引發 KeyDownKeyUpKeyPress 事件的順序,以及如何在它們上註冊事件處理常式。

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

備註

主要事件會依下列順序發生:

  1. KeyDown

  2. KeyPress

  3. KeyUp

若要只在表單層級處理鍵盤事件,而且不會讓其他控制項接收鍵盤事件,請將 KeyPressEventArgs.Handled 表單的事件處理常式方法中的 KeyPress 屬性設定為 true 。 控制項會自動處理某些索引鍵,例如 TAB、RETURN、ESC 和方向鍵。 若要讓這些索引鍵引發 KeyUp 事件,您必須覆寫 IsInputKey 表單上每個控制項中的 方法。 覆寫 IsInputKey 的程式碼必須判斷是否按下其中一個特殊按鍵,並傳回 的值 true

如需處理事件的詳細資訊,請參閱 處理和引發事件

適用於

產品 版本
.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

另請參閱