قائمة سياق الحيوية على تريفيف العقد
-
21-08-2019 - |
سؤال
وتكرار من: البحث عقدة النقر تحت قائمة السياق
ولقد حصلت على قائمة السياق على الاشجار وترى عندما يقوم المستخدم الحق نقرات من المفترض أن تغيير على أساس العقدة الحق النقر حاليا في وجوه العلامة.
وحاليا أنا تحديث قائمة السياق في after_select الحدث، ولكن هذا لا يعمل عندما ينقر المستخدم الحق في عقدة أخرى دون تحديد ذلك.
وكيف يمكنني الكشف عن أي عقدة النقر الحق وتغيير قائمة السياق؟ أو أنا أفعل ذلك الخطأ؟
المحلول
ويمكنك استخدام الحدث MouseDown وHitTest طريقة لمعرفة العقدة التي تم النقر.
نصائح أخرى
Private Sub tvTables_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles tvTables.MouseDown
If e.Button = Windows.Forms.MouseButtons.Right Then
Dim M As New ContextMenuStrip
Dim HTI As TreeViewHitTestInfo = tvTables.HitTest(e.X, e.Y)
If HTI.Node.Level = 0 Then
M = T1Menu
ElseIf HTI.Node.Level = 1 Then
M = T2Menu
ElseIf HTI.Node.Level = 2 Then
M = T3Menu
End If
tvTables.ContextMenuStrip = M
tvTables.ContextMenuStrip.Show()
End If
End Sub
لا تنتمي إلى StackOverflow