1

基本的に、私が取り組んでいるC#Windowsフォームアプリケーションには、押すボタンbutton1button2.

2 custom keys同時に押すと(例: CTRL + L)、プログラムがコード化されたステップを実行するときにどうすればよいbutton1ですか?ウィンドウがアクティブでない可能性があることに注意してください。

私はこれを見てきました:C#でボタンクリックをシミュレートするためのキープレスですが、ウィンドウがアクティブでなく、2つではなく1つのボタンしか押されていない場合、これは機能しないと思います。

4

2 に答える 2

1

Form KeyUp Eventとプロパティで、このKeyPressPreview = trueタスクを達成できます。

   private void Form_KeyUp(object sender, KeyEventArgs e)
   {
       if (e.KeyCode == Keys.L && e.Control)
       {
                yourButton.PerformClick();
                e.Handled = true;
        }
    }

また

入りたい場合Keypress Event

private void Form_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.Control && e.KeyCode == Keys.L)
    {
            yourButton.PerformClick();
            e.Handled = true;
    }
}

編集:

keypress EventOPが彼の声明から「しかし、ウィンドウがアクティブでない場合、これは機能しないと思います」と言いたいことに気付きました

おそらくこれを確認する必要があります

Visual C# .NET で Windows フックを設定する方法

于 2013-01-29T09:46:01.323 に答える
0

ボタン テキスト内の任意の文字の前に & を付け、UseMnemonic を true のままにすると、. alt + 文字がショートカット キーとして機能します。

たとえば、あなたの場合、ボタンのテキストをそれぞれbutton&1button&2に変更します。UserMnemonic = true のままにします。alt+1を押すと button1 が押され、alt+2を押すと button2 が押されます。

また、それぞれ 1 と 2 に下線が引かれます。

それが役立つことを願っています。

于 2013-01-29T10:01:41.000 に答える