2013-04-25 84 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