我为List设计了一个UserControl,它还有一个 UserControl ,它是 ListItem ,到目前为止,我已经通过点击 ListItem获得了访问权限 on ClickEvent 和Up-till Form我使用了 ListControl ,
问题是,我在 SearchTextBox 上显示列表控件,我想做的是,当我从键盘按下向下箭头键时,我专注于ListControl,现在我想要控制上下箭头键从列表中选择一个项目,
答案 0 :(得分:1)
您可以覆盖ProcessCmdKey
并执行您想要的操作。
假设您在ListBox
中有UserControl
:
VB代码
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, keyData As Keys) As Boolean
If keyData = Keys.Down Then
'Perform validations and so on then
Me.ListBox1.SelectedIndex = Me.ListBox1.SelectedIndex + 1
Return True
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
C#代码:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Down)
{
//Perform validations and so on then
this.listBox1.SelectedIndex= this.listBox1.SelectedIndex+1;
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}