以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]菜单的可用不可用  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73375)

--  作者:blsu33
--  发布时间:2015/8/18 13:29:00
--  [求助]菜单的可用不可用
红袍老师,
    向您求得菜单代码了
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=72355&authorid=9150
   在问您一下 如何使菜单的拉的某一项 不可用  代码 怎么写呢
   类似于 Enable=false/true

--  作者:大红袍
--  发布时间:2015/8/18 14:10:00
--  

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=72355&authorid=0&page=0&star=1

 


--  作者:大红袍
--  发布时间:2015/8/18 14:18:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口菜单 (1).table


--  作者:blsu33
--  发布时间:2015/8/21 17:17:00
--  
老师,
  这个怎么锁定

Dim tab= e.Form.Controls("TabControl1").Basecontrol
Dim dt As DataTable=Functions.Execute("loading","AS002分类编码方案",0,"基础档案名称=\'AS012菜单生成\'")
Dim dt1 As DataTable=Functions.Execute("loading","AS012菜单生成",0,"1=1")
Dim gz As String = dt.DataRows(0)("编码规则")
For Each p As object In tab.TabPages
    Dim menuStrip As new System.Windows.Forms.MenuStrip()
    Dim ft As String= "(\',\' + [窗口名称] + \',\') Like \'%," & p.text & ",%\'"
    For Each dr As DataRow In dt1.Select(ft,"编码规则")
        If dr.IsNull("编码规则") = False AndAlso dr("编码规则").Length = val(gz(0)) Then
            Dim tsmi As new System.Windows.Forms.ToolStripMenuItem
            tsmi.name = dr("编码规则")
            tsmi.Text = dr("编码名称")
            menuStrip.Items.Add(tsmi)
            ’tsmi.Enabled = False‘                                       希望菜单,下面的二级项目锁定
            AddHandler tsmi.Click, AddressOf menu_Click
            Functions.Execute("menusetup",tsmi,dt1,gz)
        End If
    Next
    P.Controls.add(menuStrip)
    \'menuStrip.Items(9401).Enabled = True 希望菜单,下面的二级项目某个项目不锁定
Next


--  作者:大红袍
--  发布时间:2015/8/21 17:23:00
--  

 锁定,就是应该针对没有子菜单的。

 

Dim menu = e.Form.baseform.controls("菜单")

\'menu.Items("01").Enabled = False
Dim item = menu.Items("01").DropDownItems("0101").DropDownItems("010102")
If item.DropDownItems.Count = 0 Then
    item.Enabled = False
End If


--  作者:blsu33
--  发布时间:2015/8/21 17:40:00
--  
红袍老师,
   例子是这个的
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=72508&authorid=0&page=0&star=2

Dim menu = e.Form.baseform.controls("菜单") 窗口4这句不知怎么写
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:菜单 (1).table



--  作者:大红袍
--  发布时间:2015/8/21 17:42:00
--  

 

[此贴子已经被作者于2015/8/21 17:43:39编辑过]

--  作者:blsu33
--  发布时间:2015/8/21 17:48:00
--  
哦 老师 另外一个窗口 是为了测试 可能把您误解了;
这块就是想把某个菜单下下级 给他ENABLE了

--  作者:大红袍
--  发布时间:2015/8/21 17:50:00
--  

Dim tab= e.Form.Controls("TabControl1").Basecontrol

Dim gz As String = DataTables("AS002分类编码方案").Find("基础档案名称 = \'菜单列表\'")("编码规则")
Dim dt As DataTable = DataTables("菜单列表")
For Each p As object In tab.TabPages
    Dim menuStrip As new System.Windows.Forms.MenuStrip()
    menustrip.Name = p.Name
    Dim ft As String= "(\',\' + [窗口名称] + \',\') Like \'%," & p.text  & ",%\'"
    For Each dr As DataRow In dt.Select(ft,"编码规则")
        If dr.IsNull("编码规则") = False AndAlso dr("编码规则").Length = val(gz(0)) Then
            Dim tsmi As new System.Windows.Forms.ToolStripMenuItem
            tsmi.name = dr("编码规则")
            tsmi.Text = dr("编码名称")
            menuStrip.Items.Add(tsmi)
            AddHandler tsmi.Click, AddressOf menu_Click
            Functions.Execute("菜单生成",tsmi,dt,gz)
        End If
    Next
    P.Controls.add(menuStrip)
Next

Dim menu = e.Form.controls("TabControl1").Basecontrol.controls("窗口2").Controls("窗口2")\' 这块好像不对
Dim item = menu.Items("01").DropDownItems("0101")
If item.DropDownItems.Count = 0 Then
    \'item.Enabled = True
\'Else
    item.Enabled = False
End If


--  作者:blsu33
--  发布时间:2015/8/21 17:54:00
--  
太棒了 谢谢老师 周末愉快