以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]为什么我的动态生成菜单代码会生成多余的东西 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194150) |
-- 作者:xndd -- 发布时间:2024/11/14 11:58:00 -- [求助]为什么我的动态生成菜单代码会生成多余的东西 先看看生成的菜单,前面多了2个东西一个空白的,一个tab,不知道哪里来的。 代码用了很久了: \'菜单模块 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 菜单表 |
-- 作者:有点蓝 -- 发布时间:2024/11/14 12:15:00 -- 原有的系统菜单是怎么清空的? |
-- 作者:xndd -- 发布时间:2024/11/14 13:03:00 -- 在发布的时候,有一个勾选项,不勾选生成系统菜单 |
-- 作者:有点蓝 -- 发布时间:2024/11/14 13:32:00 -- 新版本是这样的。生成菜单前,先清空一下 RibbonTabs.Clear
|
-- 作者:xndd -- 发布时间:2024/11/14 13:39:00 -- 收到,谢谢 |
-- 作者:xndd -- 发布时间:2024/11/14 13:46:00 -- 以下是引用有点蓝在2024/11/14 13:32:00的发言:
新版本是这样的。生成菜单前,先清空一下 RibbonTabs.Clear --如果这样,在发布时,就不能勾选生成系统菜单,否则一直会报错,弹窗
|
-- 作者:有点蓝 -- 发布时间:2024/11/14 13:49:00 -- 如果保留系统菜单,就不要清空了。 |
-- 作者:xndd -- 发布时间:2024/11/14 13:52:00 -- 如果勾选生成系统菜单,报错; 如果不勾选生成系统菜单,前面还会有个这个:
|
-- 作者:cd_tdh -- 发布时间:2024/11/14 13:58:00 -- 左边的应该是:程序菜单 ,用代码隐藏吧,ApplicationMenu.Visible =False,我测试用RibbonTabs.Clear确实清除不了程序菜单 [此贴子已经被作者于2024/11/14 14:00:53编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/11/14 14:02:00 -- 随便设计一个自定义菜单。生成菜单的时候调用RibbonTabs.Clear |