3

ほとんどの場合、ホットキーを使用するすべてのプログラムで、実際に押されているキーをユーザーが確認できますが、それがどのように行われるかはわかりません。参考までに、ボタンの組み合わせをキャプチャするランダム プログラムの次のスクリーンショットを参照してください。

ここに画像の説明を入力

どうすればこのようなものを実装できますか? 私が読んでいるイベントは TypeSystem.Windows.Forms.KeyEventArgsです。実際の値が記述されていない多くのキーと、不正確な値を持ついくつかのキーがあります。各キーのコードを見つけて手動で表示する以外に解決策はありませんか?

編集:明確にするために、上のスクリーンショットに示すように、押されたキーのユーザーフレンドリーな文字列表現を取得したいと思います。

4

4 に答える 4

0

このコードで魔女キーを押すことができます(単一のキーまたは複数のキーが押された場合、フォーム KeyPreview を true に設定します)

    private void Form1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
    {
        label1.Text = null;
        label1.Text=e.Modifiers.ToString();
    }
于 2013-02-13T07:19:43.107 に答える
0

win-form の場合、最初にプロパティKeyPreviewをに設定する必要がありますtrue。そうすれば、フォームの子の 1 つにフォーカスがあり、フォーム自体にフォーカスがない場合でも、押​​されたキーが検出されるはずです。

OnKeyUp次に、 、OnKeyDown、およびのいずれかのメソッドをオーバーライドしますOnKeyPress

protected override void OnKeyUp(KeyEventArgs e)
{
  switch (e.KeyCode)
  {
      case Keys.F1:
         showHelpTopics();
         break;
  }
}

一部のキーの説明がない場合は、msdn 検索を実行するだけで詳細が表示されます。

于 2013-02-13T07:27:35.910 に答える