V4.0-设置多语言,主窗体的菜单顺序乱了


  V4.0-设置多语言,主窗体的菜单顺序乱了

V4.0-设置多语言,主窗体的菜单顺序乱了



贴图图片



解决:替换ModuleManager.cs文件中CreateToolButtons()方法。

C# Code:

/// <summary>
/// 跟据菜单创建Bar按钮
/// </summary>
/// <param name="menuBar">Bar容器</param>
/// <param name="mainMenu">主菜单(各模块主菜单的组合)</param>
public void CreateToolButtons(Bar menuBar, ToolStrip moduleMainMenu)
{
   BarItemLink current = null; int index = 0;
   foreach (ToolStripMenuItem moduleTopMenu in moduleMainMenu.Items)
   {
      if (!moduleTopMenu.Enabled) continue;//顶级菜单荐是禁用状态表示无权限,不创建
      
      //模块主菜单名称(一级菜单)
      BarSubItem menuOwner = new BarSubItem(menuBar.Manager, moduleTopMenu.Text);
      menuOwner.PaintStyle = BarItemPaintStyle.CaptionGlyph;
      menuOwner.Glyph = moduleTopMenu.Image;
      menuOwner.Tag = moduleTopMenu;//设置标记
      menuOwner.ItemClick = new ItemClickEventHandler(menuOwner_ItemClick);
      
      if (current == null)//第一个BarItem
      {
         current = menuBar.ItemLinks.Insert(index, menuOwner);
         current.BeginGroup = true;//第一个菜单项设置分组(小竖线)
         index ;
      }
      else
      {
         current = menuBar.ItemLinks.Insert(index, menuOwner);
         index ;
      }
      
      //递归加载
      foreach (ToolStripItem item in moduleTopMenu.DropDownItems)
      {
         if (item is ToolStripSeparator) continue;//分隔符菜单项,不加载
         if (!item.Enabled) continue;//菜单是禁止使用状态,无权限,不加载
         
         if (item is ToolStripMenuItem && (item as ToolStripMenuItem).DropDownItems.Count > 0)
         {//创建子级
         BarSubItem itemOwner = new BarSubItem(menuBar.Manager, item.Text);
         menuOwner.ItemLinks.Add(itemOwner);
         this.LoadBarSubItems(itemOwner, item as ToolStripMenuItem);
      }
      else
      {
         this.LoadBarButtonItem(menuOwner, item);
      }
   }
}
}

//来源:C/S框架网(www.csframework.com) QQ:1980854898


 



C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:企业版增加“我的功能”模块,用户可以配置常用功能,类似快捷方式
下一篇:开发框架的帮助功能设计
评论列表

发表评论

评论内容
昵称:
关联文章

V4.0-设置语言菜单顺序
导航菜单及树结构菜单实现语言(翻译英文越南文)
Winform语言框架 - 修改菜单语言
模块图标顺序设置-CS框架网
模块列表没有翻译语言 - 重写SetLanguage方法自定义显示语言
设置主菜单、工具栏按钮及左侧模块导航菜单字体样式
CSFramework.CodeGeneratorV6.0-模块添加功能菜单
菜单如何排序? (包括左边导航菜单)
解决CSFramework企业版v4.x旗舰版v5.0设置皮肤不同步BUG
Winform框架 - 语言界面修改标题注意事项
新增菜单没有显示也不能导入菜单解决方案 - MenuItemTag详解
C#版智能五子棋游戏(4)-
关于企业版V4.0开发者常用问答
C# Winform支持语言界面切换软件快速开发平台
.NET软件开发平台标准版V2.3 - 支持语言(中文繁体、简体、英文、越南文)
.NET Framework V4.0版本经典模式和集成模式区别 - 阿里云虚拟主机.NET版本设置
C# Winform项目语言实现(支持简/繁/英三种语言)
NavBar组件设置大小图标与模块对应
CSFramework.CodeGeneratorV6.0-及组件配置
我在框架加业务模块,但运行导航位置没有菜单