1.通过对node的expanded属性的设置来完成。当单击B1时,B1的expanded设为true,C1,D1,E1的expanded属性设为false.2.通过设置node的expandedimage属性设置就可以了。
解决方案 »
- DTPicker控件能設置為空嗎?
- 求有关学生和老师的控件和源代码
- 100分求VB的API大全,抢分啊............
- 帮兄弟一把,打印的事
- 请教控件绘图问题!
- 请问各位高手--如何在Excell中根据从数据库取出的数据进行作图?
- 编写的C#应用程序怎样打包啊?有几种方法?
- 请问SSTab我在程序运行的时候,点击tab0和tab1等,里面的内容不会跟着改变,为什么?谢!
- setupbuilder 为什么分盘时老是不准确?一定给分!!,一定给高分!!!!
- 怎样在vb中测试打印端口是否准备好?
- 哪一位高手知道ActiveReport有打印一个或者全部页面终了时触发的事件吗?
- 有哪位用过 FORMULA ONE 做过报表?
With TreeView1
'Add 方法中,第5个参数就是节点普通状态时图像的索引,第6个参数就是在 Node 被选中时显示的图像的索引
'要使用此例,请在窗体填加一个TreeView和一个ImageList,要在其中加入两个图片,1是合着的书,2是打开的书 .Nodes.Add , , "a", "a", 1, 2
.Nodes.Add "a", tvwChild, "a1", "a1", 1
.Nodes.Add "a", tvwChild, "a2", "a2", 1
.Nodes.Add , , "b", "b", 1, 2
.Nodes.Add "b", tvwChild, "b1", "b1", 1
.Nodes.Add "b", tvwChild, "b2", "b2", 1
.Nodes.Add "b", tvwChild, "b3", "b3", 1
End With
End SubPrivate Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Dim nodEach As Node
For Each nodEach In TreeView1.Nodes
nodEach.Expanded = False
Next
Node.Expanded = True
End Sub
单击B1时,B1也打开了,但在单击子NODE时,它自动关闭了,这样不能进行操作了。
Dim nodEach As Node
For Each nodEach In TreeView1.Nodes
If Node.Children > 0 Then '加一句判断
nodEach.Expanded = False
End If
Next
Node.Expanded = True
End Sub
给分!!!!!!!!!
'这个算法不是最好的,但可以解决问题
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Dim nodEach As Node
For Each nodEach In TreeView1.Nodes
nodEach.Image = 1
Next
Node.Image = 2
End Sub
.Nodes.Add , , "b", "b", 1, 2这两句相应的要改为:
.Nodes.Add , , "a", "a", 1
.Nodes.Add , , "b", "b", 1
也就是说不要指定展开时的图象。
你给的代码当在此主目录下选择子目录时,这个主目录的图标就关闭了。我想让它仍是打开的,只有选择其它的主目录时,才能是关闭。
太麻烦你了,请在帮一下,不好意思了。
'如果你的树只有一层,可用这种方式,多层的话要判断一下,还有如果有多层时,是不是每个节点都是打开的图呢?
Dim nodEach As Node For Each nodEach In TreeView1.Nodes
nodEach.Image = 1
Next
If Node.Parent Is Nothing Then
Else
Node.Parent.Image = 2
End If
End Sub
With TreeView1
'Add 方法中,第5个参数就是节点普通状态时图像的索引,第6个参数就是在 Node 被选中时显示的图像的索引
'要使用此例,请在窗体填加一个TreeView和一个ImageList,要在其中加入两个图片,1是合着的书,2是打开的书 .Nodes.Add , , "a", "a", 1
.Nodes.Add "a", tvwChild, "a1", "a1", 1
.Nodes.Add "a1", tvwChild, "a11", "a11", 1
.Nodes.Add "a1", tvwChild, "a12", "a12", 1
.Nodes.Add "a1", tvwChild, "a13", "a13", 1
.Nodes.Add "a", tvwChild, "a2", "a2", 1
.Nodes.Add "a2", tvwChild, "a21", "a21", 1
.Nodes.Add "a2", tvwChild, "a22", "a22", 1
.Nodes.Add "a2", tvwChild, "a23", "a23", 1
.Nodes.Add , , "b", "b", 1
.Nodes.Add "b", tvwChild, "b1", "b1", 1
.Nodes.Add "b", tvwChild, "b2", "b2", 1
.Nodes.Add "b", tvwChild, "b3", "b3", 1
.Nodes.Add "b3", tvwChild, "b31", "b31", 1
.Nodes.Add "b3", tvwChild, "b32", "b32", 1
.Nodes.Add "b3", tvwChild, "b33", "b33", 1
End With
End SubPrivate Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Dim nodEach As Node
For Each nodEach In TreeView1.Nodes
If Node.Children > 0 Then
nodEach.Expanded = False
nodEach.Image = 1
End If
Next If Node.Children > 0 Then
Node.Expanded = True
Node.ExpandedImage = 2
Else
End IfEnd Sub