我现在是想用控件Treeview来组织我们学院的所有学生,我开始构思的是查找结果在Listview中显示,但老师提出能不能直接用鼠标在树行结构上用光标定位,请问各位大虾有没有好的解决办法,在下初次学vb,菜鸟一个,各位给点面子,尽量给我些代码示例什么的,多谢了

解决方案 »

  1.   

    treeview控件有一个pre***click方法可以提前找到INDEX值,使用一个全局变量保存就可以了,你找一找,就是treeview的click之类的,中间可以得到索引的
      

  2.   


    SelectedItem 属性(ActiveX 控件)
          返回对所选 ListItem、Node 或 Tab 对象的引用。语法object.SelectedItemobject 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。 说明SelectedItem 属性返回对于一个对象的引用,该对象能用来在选定的对象上设置属性和调用方法。这一属性被典型地用于返回对 ListItem、Node、Tab 或用户已单击或选定的对象的引用。用此引用,可以在允许任何下一步操作之前验证对象,就象下面的代码中演示的那样:Command1_Click()
       '如果所选对象不是根,则删除此节点。
       If TreeView1.SelectedItem.Index <> 1 Then
          Treeview1.Nodes.Remove TreeView1.SelectedItem.Index
       End If
    End Sub
    为编程选择 ListItem 对象,用使用带有 SelectedItem 属性的 Set 语句,如下所示:Set ListView1.SelectedItem = ListView1.ListItems(1)
      

  3.   

    对不起,是我叙述没有说清楚,我的意思是查找的结果不能按一般的形式在listview中显示,而想查找之后把treeview树结构展开,光标在要查找的节点上定位,或者要查找的节点上以阴影标识,因为我的软件主截面没有采用listview,所以需要这么一种在树接点比较多时的定位,谢谢你的热心,能再帮帮我吗?
      

  4.   

    那就用nodes.count遍历整棵树吧
      

  5.   


    Expanded 属性
          这个属性返回或设置一个值,该值确定在 TreeView 控件中的 Node 对象当前是被展开的还是被折叠的。语法object.Expanded[= boolean]Expanded 属性的语法包含下面部分:t部分 描述 
    object 对象表达式,其值是“应用于”列表中的一个对象。 
    boolean 布尔表达式,其值指定该节点是被展开的还是被折叠的。 
    boolean 的设置值是:设置值 描述 
    True 该 Node 当前被展开。 
    False 该 Node 当前被折叠。 
    说明可以使用 Expanded 属性编程展开 Node 对象。以下代码与双击第一个 Node 的作用相同:TreeView1.Nodes(1).Expanded = True在 Node 对象被展开时,Expand 事件发生。如果一个 Node 对象没有子节点,则该属性值被忽略。