【发布时间】:2011-08-30 20:51:09
【问题描述】:
这纯粹是针对我的客户向我提出的可用性要求。
他们使用 datagridview 为学生输入成绩。所以他们几乎进入了僵尸模式并开始点击数字,他们告诉我如果他们可以点击数字键盘的输入键来聚焦下一个垂直选择会更容易。
这是我尝试使用的:
private void dataGridView1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
SendKeys.Send("{DOWN}");
}
}
不幸的是,它没有按预期工作。有时它似乎多次触发该键,导致焦点向下滚动 2 或 3 或 4 个单元格,并真正动摇了用户的焦点。
我怎样才能完成这项工作并让我的客户满意?
【问题讨论】:
-
你考虑过文本字段数组吗?
-
尝试在您的 SendKeys.Send 之后添加一个 e.handled=true
-
他们使用的程序是否有您可以访问的源代码?如果是这样,为什么不直接接受回车键并使用它 - 否则我认为您需要一个 IntPtr 句柄到他们的窗口并专门发送到该窗口。
-
@Chuck:我不确定你的意思,在 datagridview 单元格中按回车键不会垂直向下滚动。
-
你不能只取下一行,选择它然后在单元格上执行 EnsureVisible() 吗?
标签: c# .net winforms datagridview key