0
我正在嘗試製作一組與數字鍵對應的九個複選框,例如,點擊數字鍵盤上的「7」鍵會使左上角的複選框檢查或相應地取消選中。在C中編程複選框的熱鍵#
我無法確定的是如何使KeyDown被表示,以便可以選擇項目,而不管當前關注的頁面是什麼,以及如何將KeyDown指向相應的複選框以使其生效從被選中或未選中切換。謝謝您的意見。
我正在嘗試製作一組與數字鍵對應的九個複選框,例如,點擊數字鍵盤上的「7」鍵會使左上角的複選框檢查或相應地取消選中。在C中編程複選框的熱鍵#
我無法確定的是如何使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語句,另一種選擇是建立一個字典映射的鑰匙複選框。然後在你的keydown中,你可以檢查密鑰是否在字典中,如果是這樣,獲取複選框並切換它。
Winforms/WPF? – Andrey 2013-03-18 01:04:39
我正在使用Windows窗體設置。 – Tim 2013-03-18 01:08:48
form.keypreview = true; form.onkeydown – 2013-03-18 01:18:49