以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]窗口工具栏的按钮权限控制  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=116895)

--  作者:linyunu
--  发布时间:2018/4/2 14:15:00
--  [求助]窗口工具栏的按钮权限控制

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

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

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

加载窗口的时候,读取这个权限字符串,遍历工具栏的控件。。包含编码的控件 就显示,不包含的就隐藏

这段代码应该怎么写??



--  作者:有点甜
--  发布时间:2018/4/2 14:51:00
--  
Dim f As WinForm.Form = forms("窗口1")
For Each c As object In f.strips("工具栏1").items
    msgbox(c.name & "|" & c.text)
    \'1、你菜单如何命名?
    \'2、菜单和表数据根据什么逻辑隐藏?
Next

--  作者:linyunu
--  发布时间:2018/4/2 20:54:00
--  

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

Dim strr As String = Vars("_权限")
Dim f As WinForm.Form = forms("窗口1")
For Each c As object In f.strips("工具栏1").items
    \'中间这段代码怎么写?
Next

--  作者:有点蓝
--  发布时间:2018/4/2 21:07:00
--  
Dim strr As String = Vars("_权限")
Dim lst As new List(of String)
lst.AddRange(strr.Split("|"))
Dim f As WinForm.Form = forms("窗口1")
For Each c As object In f.strips("工具栏1").items
    c.visible = lst.Contains(c.name)
Next

--  作者:linyunu
--  发布时间:2018/4/2 21:48:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试项目.foxdb

还是不行,附件帮忙看看

--  作者:有点蓝
--  发布时间:2018/4/2 21:55:00
--  
方法1,把用户权限改为这种:|新增|修改|......和菜单名称一致
2、把菜单名称改为和权限设置的名称一致

Dim strr As String = Vars("_权限")
Dim lst As new List(of String)
lst.AddRange(strr.Split("|"))
Dim f As WinForm.Form = forms("窗口1")
For Each c As object In f.strips("工具栏1").items
    c.visible = lst.Contains(c.text)
Next

--  作者:linyunu
--  发布时间:2018/4/2 22:41:00
--  
可以了 谢谢