关于一个Listview的小问题,请一定相告,在线等!

时间:2022-06-30 17:36:31
我是一个初学者。
在这里问一个问题。
我只有六个节点。
一个根节点名为所有人员。
子节点有5个:第1类用户...第5类用户,imagelist里已经有六个图像了。分别对应这六个节点
这样该如何创建。
又如何引用点击节点出现的事件。
我指的是比如click事件之类的。
谢谢!!

35 个解决方案

#1


写错了,
是TREEVIEW
不好意思!!

#2


给我你的E-mail,我把程序给你

#3


hanksblue@sina.com

#4


TreeView.Add , "Root","所有人员",Imagelist.listimage(0).index 'Root是Key
TreeView.Add , "tvwChild","Root","第1类用户",Imagelist.listimage(0).index
...
试试,我身边没装VB,如果不行告诉我

#5


实时错误,
对象超出边界。
是不是imagelist1.listimage(1).index
出现未发现元素。

#6


对对,我前面打错了,没装VB

#7


子节点的Imagelist的index递增

#8


我是打的treeview.add.node啊。
是这样的:
imagelist.listimage(0).1
imagelist.listimage(0).2
imagelist.listimage(0).3
。。。
还是这样的
imagelist.listimage(0).index
imagelist.listimage(1).index
...
可还是错误。
怎么去响应click呢?

#9


在TreeView的Click里
dim newnode as Node
set newnode = new node
然后newnode = TreeView.Selectnode
就可以对newNode操作

#10


应该是Index
前面是Set newnode=treeView.selectnode
试试

#11


给你一个比较大的程序,你只要看frmTree就行了

#12


不对啊。
如果是imagelist的索引值是从1开始的。
我如果写TreeView.Add , "Root","所有人员",Imagelist.listimage(0).index 
提示超出了边界。
如果是TreeView.Add , "Root","所有人员",Imagelist.listimage(1).index 
就提示未发现元素。
不管imagelist 和 treeview是否关联都这样。

#13


程序受到了吗?在你的Email里

#14


还没有收到啊。

#15


你用MSn吗,把hotmail给我

#16


宋兄!
我一般在深圳之窗的聊天室里聊天。你有空去看看。昵称是dew,一般在'打工一族'里,网址是http://chat.szptt.net.cn/,可以跟我留言,OK。







#17


我的QQ是33268647
请注明CSDN

#18


我刚装了VB,现在帮你调试

#19


谢谢!!

#20


Private Sub Form_Load()
'tvClass是树控件名
tvClass.Nodes.Add , , "ROOT", "所有班级", ImageList1.ListImages(1).Index
    
    
    For Index = 0 To 3
    tvClass.Nodes.Add "ROOT", tvwChild, , "123", ImageList1.ListImages(1).Index
    Next
    
End Sub

#21


Private Sub tvClass_Click() 'Click事件

Dim newnode As Node

Set newnode = tvClass.SelectedItem

MsgBox newnode.Text

End Sub

#22


循环语句里面的那个语句
tvClass.Nodes.Add "ROOT", tvwChild, , "123", ImageList1.ListImages(1).Index
说类型不对。

#23


imagelist绑定了吗?把, ImageList1.ListImages(1).Index去掉试试,如果正确就是imagelist的问题

#24


先将Index变量声明
dim INdex as long

#25


可以啦,
是我自己在tvchild我写了一个引号。
我现在这样写Private Sub Form_Load()
'tvClass是树控件名
tvClass.Nodes.Add , , "ROOT", "所有班级", ImageList1.ListImages(1).Index
   dim i as int 
    i=1
    For Index = 0 To 3
    tvClass.Nodes.Add "ROOT", tvwChild, , "123", ImageList1.ListImages(i).Index
    i=i+1
Next
    
End Sub
我想使用nodes的text不只是123,
在循环内想改变txet的值。
比如定义一个数组。
a(1)="123"
a(2)="234"
这个如何定义如何对它初始化。
还有,
我如果想对每个nodes都进行不同的操作如何进行。

#26


错了,是
imagelist1.listimage(i).index

#27


Dim array1 As Variant

array1 = Array("123", "234", "3455")

For Index = 0 To 3
    tvClass.Nodes.Add "ROOT", tvwChild, , array1(index), ImageList1.ListImages(i).Index
Next

#28


Private Sub tvClass_Click() 'Click事件

Dim newnode As Node
dim Index

Set newnode = tvClass.SelectedItem

select case newnode.text
    case "123"
          msgbox "123"
    case "234"
          msgbox "234"
end select 

End Sub

#29


谢谢!
还有一个问题。
我按你的这个方法去执行
Private Sub tvClass_Click() 'Click事件

Dim newnode As Node

Set newnode = tvClass.SelectedItem

MsgBox newnode.Text

End Sub

但是只能执行最前面的那个根节点的,如果我想每个节点都执行不同的功能呢?
比如123
和234
节点执行不同的功能。

#30


非常感谢!
我没有看到你刚才发的贴子。
我想我们交个朋友。
可以吗?

#31


可以,我没有QQ,我用MSN
不如我们到你前面的那个聊天室去,你看如何

#32


好啊!!!
我的名叫dew

#33


不需要注册,
取个名字就可以啦。

#34


哪个房间

#35


上班一族

#1


写错了,
是TREEVIEW
不好意思!!

#2


给我你的E-mail,我把程序给你

#3


hanksblue@sina.com

#4


TreeView.Add , "Root","所有人员",Imagelist.listimage(0).index 'Root是Key
TreeView.Add , "tvwChild","Root","第1类用户",Imagelist.listimage(0).index
...
试试,我身边没装VB,如果不行告诉我

#5


实时错误,
对象超出边界。
是不是imagelist1.listimage(1).index
出现未发现元素。

#6


对对,我前面打错了,没装VB

#7


子节点的Imagelist的index递增

#8


我是打的treeview.add.node啊。
是这样的:
imagelist.listimage(0).1
imagelist.listimage(0).2
imagelist.listimage(0).3
。。。
还是这样的
imagelist.listimage(0).index
imagelist.listimage(1).index
...
可还是错误。
怎么去响应click呢?

#9


在TreeView的Click里
dim newnode as Node
set newnode = new node
然后newnode = TreeView.Selectnode
就可以对newNode操作

#10


应该是Index
前面是Set newnode=treeView.selectnode
试试

#11


给你一个比较大的程序,你只要看frmTree就行了

#12


不对啊。
如果是imagelist的索引值是从1开始的。
我如果写TreeView.Add , "Root","所有人员",Imagelist.listimage(0).index 
提示超出了边界。
如果是TreeView.Add , "Root","所有人员",Imagelist.listimage(1).index 
就提示未发现元素。
不管imagelist 和 treeview是否关联都这样。

#13


程序受到了吗?在你的Email里

#14


还没有收到啊。

#15


你用MSn吗,把hotmail给我

#16


宋兄!
我一般在深圳之窗的聊天室里聊天。你有空去看看。昵称是dew,一般在'打工一族'里,网址是http://chat.szptt.net.cn/,可以跟我留言,OK。







#17


我的QQ是33268647
请注明CSDN

#18


我刚装了VB,现在帮你调试

#19


谢谢!!

#20


Private Sub Form_Load()
'tvClass是树控件名
tvClass.Nodes.Add , , "ROOT", "所有班级", ImageList1.ListImages(1).Index
    
    
    For Index = 0 To 3
    tvClass.Nodes.Add "ROOT", tvwChild, , "123", ImageList1.ListImages(1).Index
    Next
    
End Sub

#21


Private Sub tvClass_Click() 'Click事件

Dim newnode As Node

Set newnode = tvClass.SelectedItem

MsgBox newnode.Text

End Sub

#22


循环语句里面的那个语句
tvClass.Nodes.Add "ROOT", tvwChild, , "123", ImageList1.ListImages(1).Index
说类型不对。

#23


imagelist绑定了吗?把, ImageList1.ListImages(1).Index去掉试试,如果正确就是imagelist的问题

#24


先将Index变量声明
dim INdex as long

#25


可以啦,
是我自己在tvchild我写了一个引号。
我现在这样写Private Sub Form_Load()
'tvClass是树控件名
tvClass.Nodes.Add , , "ROOT", "所有班级", ImageList1.ListImages(1).Index
   dim i as int 
    i=1
    For Index = 0 To 3
    tvClass.Nodes.Add "ROOT", tvwChild, , "123", ImageList1.ListImages(i).Index
    i=i+1
Next
    
End Sub
我想使用nodes的text不只是123,
在循环内想改变txet的值。
比如定义一个数组。
a(1)="123"
a(2)="234"
这个如何定义如何对它初始化。
还有,
我如果想对每个nodes都进行不同的操作如何进行。

#26


错了,是
imagelist1.listimage(i).index

#27


Dim array1 As Variant

array1 = Array("123", "234", "3455")

For Index = 0 To 3
    tvClass.Nodes.Add "ROOT", tvwChild, , array1(index), ImageList1.ListImages(i).Index
Next

#28


Private Sub tvClass_Click() 'Click事件

Dim newnode As Node
dim Index

Set newnode = tvClass.SelectedItem

select case newnode.text
    case "123"
          msgbox "123"
    case "234"
          msgbox "234"
end select 

End Sub

#29


谢谢!
还有一个问题。
我按你的这个方法去执行
Private Sub tvClass_Click() 'Click事件

Dim newnode As Node

Set newnode = tvClass.SelectedItem

MsgBox newnode.Text

End Sub

但是只能执行最前面的那个根节点的,如果我想每个节点都执行不同的功能呢?
比如123
和234
节点执行不同的功能。

#30


非常感谢!
我没有看到你刚才发的贴子。
我想我们交个朋友。
可以吗?

#31


可以,我没有QQ,我用MSN
不如我们到你前面的那个聊天室去,你看如何

#32


好啊!!!
我的名叫dew

#33


不需要注册,
取个名字就可以啦。

#34


哪个房间

#35


上班一族