テンキーに対応する 9 つのチェック ボックスのセットを作成しようとしています。たとえば、テンキーの「7」キーを押すと、左上のチェック ボックスがオンまたはオフになります。
私が判断できないのは、現在ページにフォーカスされているものに関係なくアイテムを選択できるように KeyDown を表現する方法と、KeyDown を対応するチェックボックスにポイントしてチェックされないようにする方法です。またはチェックを外します。ご意見ありがとうございます。
テンキーに対応する 9 つのチェック ボックスのセットを作成しようとしています。たとえば、テンキーの「7」キーを押すと、左上のチェック ボックスがオンまたはオフになります。
私が判断できないのは、現在ページにフォーカスされているものに関係なくアイテムを選択できるように KeyDown を表現する方法と、KeyDown を対応するチェックボックスにポイントしてチェックされないようにする方法です。またはチェックを外します。ご意見ありがとうございます。
フォームで、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ステートメントが気に入らない場合は、キーをチェックボックスにマッピングする辞書を設定することもできます。次に、キーダウンで、キーが辞書にあるかどうかを確認できます。ある場合は、チェックボックスを取得して切り替えます。