首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

listview 浮在 treeview 上时,listview click事件触发了treeview nodeclick ?何解?解决方案

2012-01-23 
listview 浮在 treeview 上时,listview click事件触发了treeview nodeclick ?何解?请各位 指点迷津有2个fo

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)
也不行~
请指教

热点排行