如何禁用 ListBox 中的按键导航但继续检测按键事件?
How to disable key navigation in a ListBox but keep detect the key press events?
我正在尝试禁用 ListBox
中的按键导航。我可以使用以下代码成功完成:
private void listClips_PreviewKeyDown(object sender, KeyEventArgs e)
{
e.Handled = true;
}
但我想为我的程序添加键盘快捷键。当我设置 e.Handled = true
时它不起作用。
private void listClips_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show("Key Pressed " + e.Key);
}
我怎样才能让它们都正常工作?
您不能将您的逻辑移动到 PreviewKeyDown
处理程序吗?
private void listClips_PreviewKeyDown(object sender, KeyEventArgs e)
{
//custom logic...
MessageBox.Show("Key Pressed " + e.Key);
e.Handled = true;
}
处理您想要的任何快捷方式,然后始终将 Handled
属性 设置为 true
。
我正在尝试禁用 ListBox
中的按键导航。我可以使用以下代码成功完成:
private void listClips_PreviewKeyDown(object sender, KeyEventArgs e)
{
e.Handled = true;
}
但我想为我的程序添加键盘快捷键。当我设置 e.Handled = true
时它不起作用。
private void listClips_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show("Key Pressed " + e.Key);
}
我怎样才能让它们都正常工作?
您不能将您的逻辑移动到 PreviewKeyDown
处理程序吗?
private void listClips_PreviewKeyDown(object sender, KeyEventArgs e)
{
//custom logic...
MessageBox.Show("Key Pressed " + e.Key);
e.Handled = true;
}
处理您想要的任何快捷方式,然后始终将 Handled
属性 设置为 true
。