【问题标题】:If I have 2 listview controls on a form, which one handles the arrow keys? (WinForms)如果我在一个表单上有 2 个 listview 控件,哪个处理箭头键? (WinForms)
【发布时间】:2009-08-06 18:17:25
【问题描述】:

我有一个带有 2 个ListView 控件的 WinForm。第一个列表视图在左侧,显示类别列表,第二个在右侧,显示类别中的项目。可以把它想象成经典的资源管理器类型的 UI,但更专业:层次结构只有一层。

如果我在 LHS 上突出显示了一个 listviewItem,然后单击箭头键,表单会自动处理它。我没有 KeyPress 事件处理程序(或 KeyDown/KeyUp 的处理程序),但我了解到 TreeView and ListView have builtin function for handling arrow keys 作为导航输入。

问题是,表单以不直观的方式处理它。焦点更改到 listview2,然后随后的箭头键输入在 listview2 的项目中导航。我想要的是将焦点保留在最初所在的列表视图中。

我如何确保当具有焦点的列表视图单独处理向上/向下箭头时?

【问题讨论】:

  • 您能说出导致焦点发生变化的原因吗?听起来它不应该一开始就自行改变。

标签: .net winforms listview


【解决方案1】:

您大概是在树视图的 NodeSelected 事件上做某事,将焦点移到列表视图。如果您可以在问题中发布代码,也许我们可以弄清楚它是什么?

【讨论】:

  • (愚蠢)啊,是的,它在 SelectedIndexChanged 事件中。在那种情况下,我更新了另一个列表视图,这导致焦点转移。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-08
  • 2022-06-27
  • 2011-09-04
  • 1970-01-01
  • 2018-06-03
  • 2022-01-20
  • 1970-01-01
相关资源
最近更新 更多