2010-08-06 53 views
1

当TreeView(WinForms)具有焦点按下按键时,将选择文本以关键字符开头的节点。避免在按下TreeView时选择新节点

有没有办法避免这种情况?

我想到的第一件事是创建Control从TreeView继承,并重写IsInputKey,以便它在所有不希望的情况下返回false。

但它不起作用。有什么方法可以覆盖这种行为吗?

回答

2

keyup设置e.Handled = true; & keypress事件。

0

我想我找到了一个可能的解决办法(虽然不是高雅的,而不是理想)

所以,我检查KeyDown事件,如果它发生我记录选择的节点在一个变量。

之后,在AfterSelect事件中,我实际上再次选择该节点。

如果有人有更优雅的解决方案,这将是受欢迎的。

+0

我还发现在KeyDown事件中将e.SupressKeyPress设置为true,但它对我的应用程序来说并不是很好的解决方案。 – 2010-08-07 00:21:48

2

为了实现

e.Handled = false树视图(未表格)的两个按键响应和的KeyDown事件;

将阻止节点的选择。而且,这些事件只有在TreeView已经集中时才会被触发。它不会阻止空白键。

相关问题