避免在TreeView中按键选择新节点

时间:2010-08-06 23:39:38

标签: c# winforms

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

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

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

但它不起作用。有没有办法覆盖这种行为?

3 个答案:

答案 0 :(得分:2)

对于实现

的TreeView(不是表单)的KeyPress和KeyDown事件

e.Handled = false;

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

答案 1 :(得分:2)

e.Handled = true;和{}中设置keyup keypress事件。

答案 2 :(得分:0)

我想我找到了一个可能的工作(虽然不优雅而且不理想)

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

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

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