簡體   English   中英

關閉esc的mdi孩子

[英]Closing mdi child with esc

我需要用Esc鍵關閉一個mdi child 我嘗試使用keydownkeypress事件,但是當按任意鍵時我甚至無法讓表單響應這些事件。

嘗試這個

private void Form_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Escape)
    {
        this.Close();
    }
}

利用

Form.CancelButton Property - 獲取或設置用戶按下ESC鍵時單擊的按鈕控件。

設置Form KeyPreview=True的屬性並使用Keydown Event

if (e.KeyCode == Keys.Escape){
   this.Close();
}

如果您的MDI表單有“ Close按鈕,則可以在表單中為“ Close按鈕分配“ CancelButton Close按鈕屬性。

因此,當您按ESC鍵時,它將調用Close按鈕單擊。

更多: CancelButton

首先,您必須設置Form.KeyPreview = true ,您必須知道KeyUpKeyDown事件之間的區別是什么

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Escape)
    {
        this.Close();
    }
}

如果你想要KeyPress事件

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == 27)
    {
        this.Close();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM