0

テンキーに対応する 9 つのチェック ボックスのセットを作成しようとしています。たとえば、テンキーの「7」キーを押すと、左上のチェック ボックスがオンまたはオフになります。

私が判断できないのは、現在ページにフォーカスされているものに関係なくアイテムを選択できるように KeyDown を表現する方法と、KeyDown を対応するチェックボックスにポイントしてチェックされないようにする方法です。またはチェックを外します。ご意見ありがとうございます。

4

1 に答える 1

0

フォームで、KeyPreviewプロパティをに設定しますTrue

KeyDownフォームのイベントハンドラーを作成します。

ハンドラーには、次のKeyDownようなコードが必要です。

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    switch (e.KeyCode)
    {
        case Keys.NumPad1: 
            Toggle(checkBox1); break;
        case Keys.NumPad2:
            Toggle(checkBox2); break;
        case Keys.NumPad3:
            Toggle(checkBox3); break;
        ...
        default:
            break;
    }
}

private void Toggle(CheckBox checkbox)
{
    checkbox.Checked = !checkbox.Checked;
}

switchステートメントが気に入らない場合は、キーをチェックボックスにマッピングする辞書を設定することもできます。次に、キーダウンで、キーが辞書にあるかどうかを確認できます。ある場合は、チェックボックスを取得して切り替えます。

于 2013-03-18T01:50:34.337 に答える