
vb treeview问题:如何在节点失去焦点时动作?
如何在节点推动焦点时有所动作?我要实现的是:当节点失去焦点(不是选中另一个节点)时,自动保存节点数据到数据库。...
如何在节点推动焦点时有所动作?
我要实现的是:当节点失去焦点(不是选中另一个节点)时,自动保存节点数据到数据库。 展开
我要实现的是:当节点失去焦点(不是选中另一个节点)时,自动保存节点数据到数据库。 展开
推荐于2016-03-31
展开全部
节点失去焦点有两种情况
1、treeview失去焦点,可以在LostFocus事件中处理
2、人为让所选的节点非高亮显示
Private Sub TreeView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim nd As Node
Set nd = TreeView1.HitTest(x, y)
If Button = vbLeftButton Then
If nd Is Nothing Then '点击空白处
TreeView1.SelectedItem = Nothing
'在这里处理
End If
End If
End Sub
1、treeview失去焦点,可以在LostFocus事件中处理
2、人为让所选的节点非高亮显示
Private Sub TreeView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim nd As Node
Set nd = TreeView1.HitTest(x, y)
If Button = vbLeftButton Then
If nd Is Nothing Then '点击空白处
TreeView1.SelectedItem = Nothing
'在这里处理
End If
End If
End Sub
更多追问追答
追问
差不多是这样的效果,再问一下:点击节点前面的“+”号和非treeview区域如何判断呢?
追答
用treeview的MouseDown事件
Private Sub TreeView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim nd As Node
Set nd = TreeView1.HitTest(x, y)
If Button = vbLeftButton Then
If nd Is Nothing Then '点击空白处
TreeView1.SelectedItem = Nothing
If TreeView1.Nodes("a").Expanded = True Then'a为根节点的key
'在这里处理
End If
End If
End If
End Sub
你在代码里,还需要加上其它限制条件,比如,前面已经选择了符合条件的节点
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询