禁用表单中箭头键选择控件

时间:2014-03-15 16:20:22

标签: c# winforms

如何在Windows窗体上按箭头键时禁用控件选择? 例如,当我在聚焦组合框时向上和向下按下时,它会选择一些元素,或者如果有一个聚焦的工具栏,它会选择不同的按钮。

有没有办法禁用此行为?

1 个答案:

答案 0 :(得分:3)

你可以截取箭头按键,但根本没有反应:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (!msg.HWnd.Equals(this.Handle) && 
        (keyData == Keys.Left || keyData == Keys.Right ||
        keyData == Keys.Up || keyData == Keys.Down))
        return true;
    return base.ProcessCmdKey(ref msg, keyData);
}

你可能希望先将焦点置于无害的地方,否则,你可以强行将其锁定在"锁定"到你不想要活动的控制。