代码之家  ›  专栏  ›  技术社区  ›  Ivan Ičin

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

  •  1
  • Ivan Ičin  · 技术社区  · 14 年前

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

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

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

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

    3 回复  |  直到 14 年前
        1
  •  2
  •   forsvarir    12 年前

    设置 e.Handled = true; 两者都有 keyup keypress 事件。

        2
  •  2
  •   26071986    14 年前

    e.Handled = false ;

    将阻止选择节点。而且,这些事件只有在树视图已经聚焦时才会被触发。它不会阻止空格键。

        3
  •  0
  •   Ivan Ičin    14 年前

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

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