各位大虾好~:
    请问我怎么用代码控制树视图(TreeView)中的节点的焦点??例如初始化窗体时,树视图默认选中首节点,我如何用代码让它选中树中的某一个节点?

解决方案 »

  1.   

    完成TREEVIEW装载后
    With treeviw.Nodes 
          '展开默认节点
          Dim node As node
          For k = 1 To .Count
            Set node = .Item(k)
            str= Right$(node.Tag, 1)
            node.Expanded = IIf(str= "你的默认节点Tag", True, False)
          Next
          Set node = Nothing
    end with
      

  2.   

    str= Right$(node.Tag, 1)
    这句按照你设置的各节点tag定制
      

  3.   

    我还是有点不明白请问大虾
    Set node = .Item(k) 这句话是什么意思?node.Expanded = IIf(str= "你的默认节点Tag", True, False)里面的str 要赋节点关键字么?
      

  4.   

    KEY 是在装载TREEVIEW的时候就已经决定了,这里并没有给KEY赋什么值.你要默认展开某个节点,总要通知计算机那个节点有什么特征吧?我是用节点的TAG(就是node.tag--节点的标签)来表示,告诉计算机:  你把树的全部节点给我循环一下,找到标签=XXX的节点时就展开它,其他关闭!  呵呵.node.Expanded = IIf(str= "你的默认节点Tag", True, False)就是干这个用的,他等同于:if node.Tag="你的默认节点Tag" then
      node.Expanded =true
    else
      node.Expanded =false
    end if
    但IIF语句更有效率
    -----------------
    不知道我说清楚没有,希望可以帮到你哟~
      

  5.   

    呵呵,很感谢你。我也看明白了!说道翻折我还有一个更好的办法TreeView.Nodes(2).EnsureVisible试试看这句话  (数字) 是节点的位置号也就是.Count很感谢你!!
      

  6.   

    获得焦点:node.Selected = IIf(str= "你的默认节点Tag", True, False)或者你知道节点号num,直接 treeviw.Nodes(num).Selected =True