2009-08-06 18 views
1

我有一个WinForm与2 ListView控件。第一个列表视图位于左侧,显示类别列表,第二个列表视图位于右侧,并显示类别内的项目。把它看作经典的资源管理器类型的用户界面,但是很专业:层次结构只有一层。如果我有一个窗体上的2个listview控件,哪一个处理箭头键? (WinForms)

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

问题是,表单以非直观的方式处理它。焦点更改为listview2,然后后续的箭头键输入在listview2的项目内导航。我想让焦点留在最初的列表视图中。

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

+0

你能说出是什么导致焦点改变?这听起来不像它应该改变它自己开始。 – 2009-08-06 18:21:38

回答

2

你可能正在做一些关于treeview的NodeSelected事件,将焦点移动到列表视图。如果你可以在你的问题中发布代码,也许我们可以弄清楚它是什么?

+0

(羞涩)啊,是的,它在SelectedIndexChanged事件中。在那种情况下,我更新了其他列表视图,这导致焦点转移。 – Cheeso 2009-08-06 18:26:59

相关问题