我有一个小表格,里面有 9 个复选框。我正在尝试为与 Numpad 对应的那些框制作热键,但我的时间最长。我有两个主要问题:
1.
private void checkBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.NumPad7)
{
MessageBox.Show("It's working");
}
}
那是我的代码。它有效,但没有做我想要的。它会显示一条消息,但前提是该复选框被突出显示。我认为 KeyPreview 在这种情况下可能会有所帮助,但 MSDN 数据库并没有帮助我解决我试图弄清楚如何使 KeyPreview 工作的问题。
其次,我希望代码在我按下热键时选中该框。我认为使用 CheckState 的任何组合似乎都不起作用。如果有人有一些煽动,我将不胜感激。
评论中的代码:
public Form2()
{
InitializeComponent();
this.KeyPreview = true;
this.KeyDown += new KeyEventHandler(Form2_KeyDown);
}
private void Form2_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.NumPad7:
MessageBox.Show("ABC");
break;
default:
break;
}
}