3

良い一日、

フォーム ユーザー コントロールにキー リスナーを追加したいと考えています。これはメインフォームに含まれています。

ユーザーがアプリケーションでキーを押すと、何らかの処理が必要になります。

どうすればこれを行うことができますか?

例えば。w を押すと、w が押されたことを示すポップアップが表示されます。

ユーザー コントロール クラスでこれを試しました。

  private void UC_ControlsTank_KeyPress(object sender, KeyPressEventArgs e)
    {
        Console.Write("You pressed:" + e.KeyChar);
    }

しかし、キーを押しても何も起こらないようです。

編集:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        MessageBox.Show(e.KeyChar.ToString());
    }
}

これが私のフォームです:そして、これが私がビジュアルスタジオでどのようにリンクしたかです: ここに画像の説明を入力

4

3 に答える 3

5

使えるイベントがありKeyPressedます

Control.KeyPress イベント

これによりSystem.Windows.Forms.KeyEventArgs e、どのキーが押されたかがわかります

編集:

だから私はちょうどサンプルアプリでこれを試してみましたが、うまくいきました

    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        MessageBox.Show(e.KeyChar.ToString());
    }
于 2013-11-11T11:50:07.777 に答える