سؤال

وتكرار من: البحث عقدة النقر تحت قائمة السياق

ولقد حصلت على قائمة السياق على الاشجار وترى عندما يقوم المستخدم الحق نقرات من المفترض أن تغيير على أساس العقدة الحق النقر حاليا في وجوه العلامة.

وحاليا أنا تحديث قائمة السياق في 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top