我想使用Enter密钥而不是Space键来检查复选框。

private void Form2_KeyDown(object sender, KeyEventArgs e)
        {
            CheckBox c1 = this.ActiveControl as CheckBox;
            if (e.KeyData == Keys.Enter && this.ActiveControl.Equals(c1))
                c1.Checked = true;
        }

如果我在复选框的Kyeup中编写此代码,我可以做到这一点,但事实是,我的表格中有几个复选框,我不能在每个键的下方写下此代码,因此我需要在其下方使用它。形式..我需要改变什么?

有帮助吗?

解决方案

设置表格的 KeyPreview 属性为真。

或者,您可以循环浏览复选框(使用 Controls 属性,也许是递归的),并将同一处理程序添加到每个复选框中。

其他提示

只需确定哪个控件具有焦点并检查/取消选中。此链接应有所帮助: http://www.webdeveloper.com/forum/archive/index.php/t-36261.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top