读书人

listview 浮在 treeview 上时listvi

发布时间: 2012-01-23 21:57:28 作者: rapoo

listview 浮在 treeview 上时,listview click事件触发了treeview nodeclick ?何解?
请各位 指点迷津
有2个form 。
form1 有 listview
form2 有 treeview
listview click 调 用 form2
当listview 浮在form2上面是,触发了 form2 的 treeview nodeclick事件!!!为何呢?我不想触发nodeclick~
请教各位,以下为代码:
''-----------------form1
Private Sub Form_Load()
Me.ListView1.ColumnHeaders.Add 1, "L0", "No"
Me.ListView1.ColumnHeaders.Add 2, "L1", "Name"
Me.ListView1.ColumnHeaders.Add 3, "L2", "StudentNO"
Me.ListView1.ListItems.Add 1, "i0", "0"
Me.ListView1.ListItems.Add 2, "i1", "1"
Me.ListView1.ListItems.Add 3, "i2", "2"

Me.ListView1.ListItems.Item(1).SubItems(1) = "xxxx"
Me.ListView1.ListItems.Item(2).SubItems(1) = "leesoonin"
Me.ListView1.ListItems.Item(3).SubItems(1) = "jordan"

Me.ListView1.ListItems.Item(1).SubItems(2) = "2004"
Me.ListView1.ListItems.Item(2).SubItems(2) = "2005"
Me.ListView1.ListItems.Item(3).SubItems(2) = "2006"
End Sub



Private Sub ListView1_DblClick()
Form2.Show
End Sub

'-----------------form2



Private Sub Form_Load()
Dim nodex As Node

Set nodex = Me.TreeView1.Nodes.Add(, , "ROOT", "Root")
Me.TreeView1.Nodes.Add "ROOT",tvwChild, "child1", "child1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Me.TreeView1.Nodes.Add "ROOT",tvwChild, "child2", "child2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Me.TreeView1.Nodes.Add "ROOT",tvwChild, "child3", "child3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Me.TreeView1.Nodes.Add "ROOT",tvwChild, "child4", "child4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Me.TreeView1.Nodes.Add "ROOT",tvwChild, "child5", "child5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Me.TreeView1.Nodes.Add "ROOT",tvwChild, "child6", "child6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Me.TreeView1.Nodes.Add "ROOT",tvwChild, "child7", "child7xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Me.TreeView1.Nodes.Add "ROOT",tvwChild, "child8", "child8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Me.TreeView1.Nodes.Add "ROOT",tvwChild, "child9", "child9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Me.TreeView1.Nodes.Add "ROOT",tvwChild, "child10", "child10xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

nodex.Expanded = True
End Sub



Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
MsgBox "TreeView1_NodeClick!" + Node.Text
End Sub


注意 treeview的node 的text要长一点。
请指教~

[解决办法]
"listview click 调 用 form2 ",用实模式调用
form2.show 1
[解决办法]
单步调试,看什么时候触发的
[解决办法]
TreeView1.TabStop =False 试试
[解决办法]

探讨
引用:
单步调试,看什么时候触发的



调试的时候,并不触发 nodeclick

只是 当 不设断点的时候,触发。
现象可以这么说:form1 的listview 的DblClick 事件 ,form2 出现 ,可能捕获了鼠标的click

即使我在 form2.show 前加
Sleep(1000)
也不行~
请指教

读书人网 >VB

热点推荐