1

フォームにツリービュー コントロールがあります。ツリー内のノードを編集して、変更を Access DB にプッシュできるようにしたいと考えています。しかし、適切なイベントを見つけるのに苦労しています。MSDN ツリービュー イベント リファレンス ページのアドバイスAfterLabelEditですが、動作させることができません。回避策/解決策を知っている人はいますか? 私が使用するコードのスニペット (動作するため、比較のためにonClickonDblClickを追加しました):

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
4

1 に答える 1

1

リンクは .net Windows Form Treeview ですMSComctlLibが、古い Visual Basic Common Controls です: http://msdn.microsoft.com/en-us/library/aa443023(v=vs.60).aspx

イベントのプロトタイプが異なることに注意してください。正しい引数で宣言しないと、決して発生しません。

Private Sub object_AfterLabelEdit(cancel As Integer, newstring As String)
于 2013-04-25T16:30:05.510 に答える