以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何实现右击指定目录树某个节点弹出对应快捷菜单  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=168981)

--  作者:昱飞哥
--  发布时间:2021/5/29 11:01:00
--  [求助]如何实现右击指定目录树某个节点弹出对应快捷菜单

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

如上图所示,我想实现:右键点击“我的文件夹”,弹出“快捷菜单1”.如果右键点击的是别的节点,则不弹出。
于是,我在目录树的MouseDown事件中进行编程如下:
If e.Sender.Selectednode IsNot Nothing Then
    If e.Sender.Selectednode.Name = "我的文件夹"
        If e.Button = MouseButtons.Right Then \'假定按下的是鼠标右键
            e.Form.Controls("TreeView1").ContextStrip = e.Form.Strips("快捷菜单1")
        End If
    End If
End If

出现的问题:当窗口刚开始运行的时候,我先右键“收藏笔记”时,确实不弹出“快捷菜单1”。再右键“我的文件夹”,也确实弹出“快捷菜单1”了。这没有问题。但是我再反过来右键“收藏笔记”时,也弹出“快捷菜单1”了。并且随意右键目录树任意位置,都会弹出“快捷菜单1”。请老师指教,谢谢

--  作者:有点蓝
--  发布时间:2021/5/29 11:08:00
--  
If e.Sender.Selectednode IsNot Nothing Then
    If e.Sender.Selectednode.Name = "我的文件夹"
        If e.Button = MouseButtons.Right Then \'假定按下的是鼠标右键
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
if trv.SelectedNode isnot nothing then
if trv.SelectedNode.text = “收藏笔记”
            e.Form.Controls("TreeView1").ContextStrip = e.Form.Strips("快捷菜单1")
elseif trv.SelectedNode.text = “我的文件夹”
            e.Form.Controls("TreeView1").ContextStrip = e.Form.Strips("快捷菜单2")
end if 
        End If
    End If
End If

--  作者:昱飞哥
--  发布时间:2021/5/29 11:48:00
--  
还是一样,老师您看看。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:我的笔记本.rar


--  作者:有点蓝
--  发布时间:2021/5/29 12:09:00
--  
没有问题的,只是菜单项目名称一样,区分不出。如果要空白处不弹菜单,换种方式
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:我的笔记本.zip



--  作者:昱飞哥
--  发布时间:2021/5/29 12:17:00
--  
版本过高,打不开图片点击可在新窗口打开查看,我这是2020商业版的。老师,发一下代码也行
--  作者:有点蓝
--  发布时间:2021/5/29 14:00:00
--  
升级到最新版Foxtable
--  作者:昱飞哥
--  发布时间:2021/5/29 14:20:00
--  
我是2020年商业版,现在能升级到2021版了吗?怎么升级?不会操作。
--  作者:有点蓝
--  发布时间:2021/5/29 14:43:00
--  
开发版和商业版用户的下载地址:
http://www.foxtable.com/update/how.htm

--  作者:1219776702
--  发布时间:2022/8/10 1:35:00
--  
兄弟,你有2020商业版的安装包吗?急求,1219776702@qq.com,谢谢