【发布时间】:2013-03-06 05:27:48
【问题描述】:
我有一个小表格,里面有 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;
}
}
【问题讨论】:
-
你开始吸引那些没有多大意义的答案。告诉我们更多关于您想要的行为的信息。是否要将每个数字键分配给表单上的复选框?
-
对不起。我试图让它尽可能清楚。我希望 NumPad 对应 9 个复选框,这样点击它们就会选中和取消选中相应的框。
标签: c# visual-studio-2010 checkbox hotkeys