Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]为什么我的动态生成菜单代码会生成多余的东西

1楼
xndd 发表于:2024/11/14 11:58:00
先看看生成的菜单,前面多了2个东西一个空白的,一个tab,不知道哪里来的。

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

代码用了很久了:

'菜单模块
    Dim cmd As New SQLCommand
    cmd.C
    cmd.CommandText = "s elect * from {菜单表}" 
    Dim dt As DataTable = cmd.ExecuteReader()
    
    Dim drs As List(Of DataRow)
    drs = dt.Select("[功能区] Like '*' and [是否启用] = 1 and 功能子项 is null ", "排序ID")
    
    For Each dr As DataRow In drs
        Dim tab As New RibbonMenu.Tab(dr("功能区"))
        If Not RibbonTabs.Contains(dr("功能区")) Then
            tab.Text = dr("功能区")
            
            RibbonTabs.Add(tab)
        End If
    Next
    
    For Each dr As DataRow In drs
        Dim rg As New RibbonMenu.group(dr("功能组"))
        If Not RibbonTabs(dr("功能区")).groups.Contains(dr("功能组")) Then
            rg.Text = dr("功能组")
            RibbonTabs(dr("功能区")).Groups.Add(rg)
        End If
    Next
    
    For Each dr As DataRow In drs
        
        If dr("项类型") = "RibbonMenu.Separator" Then
            Dim rb As New RibbonMenu.Separator(dr("功能项"))
            RibbonTabs(dr("功能区")).Groups(dr("功能组")).Items.Add(rb)
        Else
            Dim rb As New RibbonMenu.Button(dr("功能项"))
            rb.Text = dr("功能项")
            rb.LargeImage = GetImage(ProjectPath & "Images\" & dr("图标"))
            rb.TextImageRelation = TextImageRelationEnum.ImageAboveText
            RibbonTabs(dr("功能区")).Groups(dr("功能组")).Items.Add(rb)
        End If
    Next

菜单表

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

2楼
有点蓝 发表于:2024/11/14 12:15:00
原有的系统菜单是怎么清空的?
3楼
xndd 发表于:2024/11/14 13:03:00
在发布的时候,有一个勾选项,不勾选生成系统菜单
4楼
有点蓝 发表于:2024/11/14 13:32:00
新版本是这样的。生成菜单前,先清空一下

RibbonTabs.Clear
5楼
xndd 发表于:2024/11/14 13:39:00
收到,谢谢
6楼
xndd 发表于:2024/11/14 13:46:00
以下是引用有点蓝在2024/11/14 13:32:00的发言:
新版本是这样的。生成菜单前,先清空一下

RibbonTabs.Clear


--如果这样,在发布时,就不能勾选生成系统菜单,否则一直会报错,弹窗

7楼
有点蓝 发表于:2024/11/14 13:49:00
如果保留系统菜单,就不要清空了。
8楼
xndd 发表于:2024/11/14 13:52:00
如果勾选生成系统菜单,报错;
如果不勾选生成系统菜单,前面还会有个这个:

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

9楼
cd_tdh 发表于:2024/11/14 13:58:00
左边的应该是:程序菜单 ,用代码隐藏吧,ApplicationMenu.Visible =False,我测试用RibbonTabs.Clear确实清除不了程序菜单
http://www.foxtable.com/webhelp/topics/1062.htm


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


http://www.foxtable.com/webhelp/topics/1091.htm

[此贴子已经被作者于2024/11/14 14:00:53编辑过]
10楼
有点蓝 发表于:2024/11/14 14:02:00
随便设计一个自定义菜单。生成菜单的时候调用RibbonTabs.Clear
共10 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.