当TreeView(WinForms)具有焦点按下按键时,将选择文本以关键字符开头的节点。避免在按下TreeView时选择新节点
有没有办法避免这种情况?
我想到的第一件事是创建Control从TreeView继承,并重写IsInputKey,以便它在所有不希望的情况下返回false。
但它不起作用。有什么方法可以覆盖这种行为吗?
当TreeView(WinForms)具有焦点按下按键时,将选择文本以关键字符开头的节点。避免在按下TreeView时选择新节点
有没有办法避免这种情况?
我想到的第一件事是创建Control从TreeView继承,并重写IsInputKey,以便它在所有不希望的情况下返回false。
但它不起作用。有什么方法可以覆盖这种行为吗?
在keyup
设置e.Handled = true;
& keypress
事件。
我想我找到了一个可能的解决办法(虽然不是高雅的,而不是理想)
所以,我检查KeyDown事件,如果它发生我记录选择的节点在一个变量。
之后,在AfterSelect事件中,我实际上再次选择该节点。
如果有人有更优雅的解决方案,这将是受欢迎的。
为了实现
e.Handled = false
树视图(未表格)的两个按键响应和的KeyDown事件;
将阻止节点的选择。而且,这些事件只有在TreeView已经集中时才会被触发。它不会阻止空白键。
我还发现在KeyDown事件中将e.SupressKeyPress设置为true,但它对我的应用程序来说并不是很好的解决方案。 – 2010-08-07 00:21:48