我有一个gridview控件,用户可以在特定单元格中搜索,以及相应的ListBox,它显示来自DB的一些结果。我想要执行以下操作,使用向下和向上键,我想滚动列表框,当用户按下回车键时,所选列表框值应附加在gridview单元格中。我尝试了以下代码,但事件并未启动。
void dgvPOS_KeyDown(object sender, KeyEventArgs e)
{
this.lbxProductName.Focus();
this.lbxProductName.Select();
if (e.KeyCode == Keys.Up)
{
this.lbxProductName.SelectedIndex--;
}
else if (e.KeyCode == Keys.Down)
{
this.lbxProductName.SelectedIndex++;
}
}
答案 0 :(得分:1)
我只能假设焦点不在列表框上。在这种情况下,捕获KeyUp,KeyDown和Enter的最佳方法是在包含Form的PreviewKeyDown事件中处理它。
答案 1 :(得分:0)
如果您使用的是WPF,它包含System.Windows.Input
命名空间和一个名为Keyboard的类,它允许您检测系统范围内的击键。可以找到更多信息here。然后,您可以检查箭头键上的击键,然后可以更改listBox.SelectedIndex
属性以更改当前选择。
度过美好的一天!