主题:求救:treeview的子节点如何判断才能产生事件 大家来看看啊
cky726
[专家分:50] 发布于 2005-11-22 16:01:00
vb.net中,treeview的结构是这样的
A
a
b
c
d
B
e
f
g
用这样的代码可能产生想要的效果,
If e.Node.Text = "A" Then
………………
………………
………………
End If 效果为,单击A则执行下面的代码
请问,如果单击a或其它的b、c等,如何产生这样的效果,
也就是父节点用If e.Node.Text = "A" Then 那子节点如何表达
请大师指点
回复列表 (共14个回复)
沙发
zrs797246 [专家分:190] 发布于 2005-11-14 18:18:00
用select case
end select
语句
应该会简单点
板凳
cky726 [专家分:50] 发布于 2005-11-15 07:56:00
能不能写明白一点,谢谢
用什么语句更简单不是我求救的原因,
我只想知道子节点如何表达
3 楼
宝宝啊呜 [专家分:990] 发布于 2005-11-15 08:39:00
treeview1.selectednode.nodes.text=a
4 楼
cky726 [专家分:50] 发布于 2005-11-15 09:02:00
呵呵,你来了
但是不行啊
treeview1.selectednode.nodes.text中是没有text的搭配
提示是:text不是system.windows.forms.treenodecollection的成员
5 楼
GBY [专家分:130] 发布于 2005-11-21 00:30:00
这个问题我是用TreeView中各节点路径来解决最好。
Private Sub TreeView1_BeforeSelect(---) Handles TreeView1.BeforeSelect
Dim k As New TreeNode
Dim S As String
Dim L As String()
k = e.Node
S = k.FullPath.ToString
Dim i As Integer
ReDim L(i)
L = Split(S, "\")
If UBound(L) = 0 Then '这里就是你单击A时的事件
-------
End if
If UBound(L) = 1 Then '这里就是你单击a时的事件
-------
End if
6 楼
cky726 [专家分:50] 发布于 2005-11-21 11:22:00
你这一招太好了,谢谢
If UBound(L) = 0 Then '这里就是你单击A时的事件
依你的方法,是OK 问题是这样A和B都产生同样的效果,请问如何分开。
(A和B都是同一级啊!)
7 楼
ryowu [专家分:6470] 发布于 2005-11-21 12:48:00
宝宝说的方法没错阿,只是大小写没有区分
楼主要有识别能力吗~~换成适当的大小写就可以了
8 楼
cky726 [专家分:50] 发布于 2005-11-21 13:10:00
你理解错了
我的意思是,按照第五楼的思想,以我的节点结构:
部门一
a
b
c
d
部门二
e
f
g
用这个
If UBound(L) = 0 Then '这里就是你单击“部门一”时的事件
-------
End if
结果点击“部门一”和“部门二”的效果一样,也就是这代码没有能把A和B区分为
同样
If UBound(L) = 1 Then '这里就是你单击a时的事件
-------
End if
结果也是点击a b c d 和 e f g 都产生一样的效果,
9 楼
cky726 [专家分:50] 发布于 2005-11-22 12:59:00
五楼的思想很不错,大家帮帮,补充一下,急用啊
10 楼
shengxinghui [专家分:40] 发布于 2005-11-23 00:10:00
strChildNote = e.Node.Text 得到子节点的文本
strParentNote = e.Node.Parent.Text 得到选择的子节点的父节点文本
我来回复