【发布时间】:2013-08-21 20:13:11
【问题描述】:
所以我正在制作一个表格,我希望左右键仅对应于表格上的 numericUpDown 框。所以我写的代码如下:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Right)
{
numericUpDown1.Value = Convert.ToDecimal(numericUpDown1.Value + 1);
}
if (keyData == Keys.Left)
{
try
{
numericUpDown1.Value = Convert.ToDecimal(numericUpDown1.Value - 1);
}
catch { }
}
return base.ProcessCmdKey(ref msg, keyData);
}
但是,如果这是当前所选视图的内容,它似乎仍会执行在表单上不同对象之间移动的默认操作。如何停止默认操作?
【问题讨论】:
-
您是否尝试过“返回真”?对于您不想继续处理的情况?
-
您的代码甚至无法编译。您在应该返回布尔值的方法中没有返回语句。
-
不,我没有返回 true...这似乎在大多数情况下都有效(除非我非常快速地按下按键)...但这不会破坏表格,所以我如果有人决定偶尔这样做,我可以接受。谢谢!
-
@user2678856 如果返回 true 有效,您能否将其标记为答案?