Foxtable(狐表)用户栏目专家坐堂 → 快捷菜单分别设置


  共有2337人关注过本帖树形打印复制链接

主题:快捷菜单分别设置

帅哥哟,离线,有人找我吗?
2425004926
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:712 积分:5553 威望:0 精华:0 注册:2019/11/14 9:36:00
快捷菜单分别设置  发帖心情 Post By:2020/7/22 9:39:00 [只看该作者]

上传了事例文件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:快捷菜单测试.zip

目的是:

表A:菜单项目147可用,其它不可用
表B:菜单项目256可用,其它不可用
表C:菜单项目369可用,其它不可用

表A的单击事件:
Dim sit As WinForm.StripItem                   
Select Case sit.Name
    Case "项目1","项目4","项目7"
        sit.Enabled = True
    Case "项目2","项目3","项目57","项目6","项目8","项目9"
        sit.Enabled = False
End Select

上面的代码有问题,那么是要将菜单一、二、三的子项目独立分开设置,还是统一可以设置?代码怎么写?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107757 积分:548124 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/22 9:46:00 [只看该作者]

3个快捷菜单分别绑定3个表就行了:http://www.foxtable.com/webhelp/topics/3116.htm


给Table指定快捷菜单

假定窗口中有一个名为Table1的Table控件,希望在窗口中重新设计一个快捷菜单,代替系统默认的快捷菜单。
首先我们要取消系统默认的快捷菜单,在对应的表事件BeforeShowContextMenu加上代码:

e.Cancel = True

然后在窗口的AfterLoad事件中加上代码:

e.Form.Controls("Table1").ContextStrip = e.Form.Strips("快捷菜单1")


 回到顶部
帅哥哟,离线,有人找我吗?
2425004926
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:712 积分:5553 威望:0 精华:0 注册:2019/11/14 9:36:00
  发帖心情 Post By:2020/7/22 9:59:00 [只看该作者]

 我上传的文件中, 我已经给按钮绑定了快捷菜单,变为左键单击了,
我的目的是表A操作时,快捷菜单1的项目1可用,快捷菜单2的项目4可用,快捷菜单3的项目7可用(这个点击按钮菜单1、2 、3 可以看到项目1、2、3、4、5、6、7、8、9)
表B,表C以此类推

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107757 积分:548124 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/22 10:02:00 [只看该作者]

e.Form.Strips("快捷菜单1").items("项目1").Enabled = True
e.Form.Strips("快捷菜单1").items("项目2").Enabled = false

 回到顶部
帅哥哟,离线,有人找我吗?
2425004926
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:712 积分:5553 威望:0 精华:0 注册:2019/11/14 9:36:00
  发帖心情 Post By:2020/7/22 10:13:00 [只看该作者]

 谢谢老师!明白了

 回到顶部