10

System.Windows.Forms私が書いたためにF5をキャッチしようとします:

partial class MainForm
{
   (...)
   this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp);
   (...)
}

public partial class MainForm : Form
{
    (...)

    private void MainForm_KeyUp(object sender, KeyEventArgs e)
    {
        Log("MainForm_KeyUp");
        if (e.KeyCode == Keys.F5)
        {
            RefreshStuff();
        }
    }
}

しかし、私のイベントキャッチは機能していないようです。

EventKey をキャッチする方法を知っていますSystem.Windows.Formsか?

4

1 に答える 1

15

FormのKeyPreviewプロパティを true に設定する必要があります。

このプロパティが true に設定されている場合、フォームはすべての KeyPress、KeyDown、および KeyUp イベントを受け取ります。フォームのイベント ハンドラーがキーストロークの処理を完了すると、キーストロークはフォーカスのあるコントロールに割り当てられます。

于 2013-09-04T03:11:27.420 に答える