当TreeView(WinForms)具有焦点时,按键选择文本以关键字符开头的节点。
有没有办法避免这种情况?
我想到的第一件事是创建从TreeView继承的Control,并覆盖IsInputKey,以便在所有不良情况下返回false。
但它不起作用。有没有办法覆盖这种行为?
答案 0 :(得分:2)
对于实现
的TreeView(不是表单)的KeyPress和KeyDown事件 e.Handled = false
;
将阻止节点的选择。而且,只有在TreeView已经集中时才会触发这些事件。并且它不会阻止空格键。
答案 1 :(得分:2)
在e.Handled = true;
和{}中设置keyup
keypress
事件。
答案 2 :(得分:0)
我想我找到了一个可能的工作(虽然不优雅而且不理想)
所以,我检查KeyDown事件,如果它发生,我将选定的节点记录在一个变量中。
之后在AfterSelect事件中,我实际上再次选择该节点。
如果某人有更优雅的解决方案,那将是受欢迎的。