3

mdi childwithEscキーを閉じる必要があります。keydownとイベントを使用してみkeypressましたが、任意のキーを押したときにフォームがそれらのイベントに応答することすらできません。

4

4 に答える 4

4

これを試して

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

または利用する

Form.CancelButton Property- ユーザーが Esc キーを押したときにクリックされるボタン コントロールを取得または設定します。

于 2013-02-21T06:21:18.550 に答える
3

フォームのプロパティを設定してKeyPreview=TrueKeydown Event

if (e.KeyCode == Keys.Escape){
   this.Close();
}
于 2013-02-21T06:27:47.587 に答える
2

MDI フォームにボタンがある場合、フォームのボタンの ID をプロパティにClose割り当てることができます。CancelButtonClose

したがって、キーを押すと、ボタンクリックESCが呼び出されます。Close

もっと:キャンセルボタン

于 2013-02-21T06:26:02.753 に答える
2

最初に を設定する必要があり、 KeyUpイベントとKeyDownイベントForm.KeyPreview = trueの違いを知る必要があります。

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();
    }
}
于 2013-02-21T06:29:39.187 に答える