2013-04-25 85 views
0

我有一个树形控件在我的窗体中。我希望能够编辑树中的节点并将更改推送到Access数据库。但是,我很难找到合适的事件。 MSDN treeview events reference page意见AfterLabelEdit,但我不能得到它的工作。有谁知道任何解决方法/解决方案?我使用的代码的片段 (我已经添加的onClickonfocus此进行比较,因为他们的工作):访问VBA - TreeView控件 - AfterLabelEdit事件

Private Sub xMyTreeview_Click() 'OK 
testit 
End Sub 
Private Sub xMyTreeview_DblClick() 'OK 
EditLabel 
End Sub 

Private Sub xMyTreeview_AfterLabelEdit() 'Problem 
AfterLabel 
End Sub 

Sub EditLabel() 
Me.xMyTreeview.StartLabelEdit 
End Sub 

Sub AfterLabel() 
MsgBox prompt, vbOKOnly, "afterlabel" 
End Sub 

Sub testit() 
Dim nodSelected As MSComctlLib.Node ' a variable for the currently selected node 

Set nodSelected = Me.xMyTreeview.SelectedItem ' get the currently selected node 

NodesStrLength = Len(nodSelected.Key) 
Dim NodeStr As String 
Dim StrToChange As String 
StrToChange = nodSelected.Key 
NodeStr = Mid(StrToChange, 2, NodesStrLength - 1) 

Me.txtNodeID = NodeStr 
Me.sfrmDOCNODE.Visible = True 
End Sub 

回答

0

你链接到.NET Windows窗体树视图但MSComctlLib是老视觉基本公共控件:http://msdn.microsoft.com/en-us/library/aa443023(v=vs.60).aspx

注意事件原型是不同的;如果你不用正确的参数来声明它,它将永远不会被提出;

Private Sub object_AfterLabelEdit(cancel As Integer, newstring As String) 
+0

非常感谢!这个答案在四月份解决了我的问题。 – Marcin 2013-05-09 23:49:54