C# 加载并显示菜单

简介: C# 加载并显示菜单

1,支持cui和cuix。

2,菜单组重复加载或显示,C#下都会崩溃。所以要判断。

3,菜单加到最后。

 

        public static AcadMenuGroup LoadMenu(AcadMenuGroups menuGroups, string filepath)
        {
            if( null == menuGroups )
            {
               return null;
            }
            if (!System.IO.File.Exists(filepath))
            {
                return null;
            }
            //如果已经加载则直接返回
            string strMenuGroupName = System.IO.Path.GetFileNameWithoutExtension(filepath);
            for (int i = 0; i < menuGroups.Count; i++)
            {
                AcadMenuGroup menuGroup = menuGroups.Item(i);
                if (menuGroup.Name.Equals(strMenuGroupName, StringComparison.OrdinalIgnoreCase))
                {
                    return menuGroup;
                }
            }
            return menuGroups.Load(filepath);
          }
        protected void LoadMenu(AcadApplication acadapp,string filepath)
        {
            AcadMenuGroup menuGroup = LoadMenu(acadapp.MenuGroups,filepath);
            if (null == menuGroup)
            {
                return;
            }
            //菜单栏 各popMenu的标题
            List<string> names = new List<string>();
            for (int i = 0; i < acadapp.MenuBar.Count; i++)
            {
                names.Add(acadapp.MenuBar.Item(i).Name);
            }
            for (int i = 0; i < menuGroup.Menus.Count; i++)
            {//依次加到最后
                AcadPopupMenu popMenu = menuGroup.Menus.Item(i);
                if (-1 != names.IndexOf(popMenu.Name))
                {//已经加载
                    continue;
                }
                popMenu.InsertInMenuBar(i + acadapp.MenuBar.Count);
            }
        }

 


相关文章
|
7月前
|
图形学
【Unity C#_菜单Window开发系列_Inspector Component UnityEditor开发】
【Unity C#_菜单Window开发系列_Inspector Component UnityEditor开发】
|
7月前
|
C#
C# 三层级架构问题之 能加载文件或程序集或它的某一个依赖项。系统找不到指定的文件
C# 三层级架构问题之 能加载文件或程序集或它的某一个依赖项。系统找不到指定的文件
87 0
|
前端开发 BI C#
手麻系统源码,C# .net 桌面软件,采用下拉式汉化菜单,界面友好,实用性强
提供手术病人检索、手术申请、手术安排、急诊手术,查看手术申请单、查看手术通知单,填写病人术前会诊记录、谈话记录、麻醉记录,器械准备、手术记录、附加手术、器械清点及术后护理信息等功能。 提供手术查询、手术报表查询、术后信息统计等查询功能。
183 0
手麻系统源码,C# .net 桌面软件,采用下拉式汉化菜单,界面友好,实用性强
|
测试技术 C# C++
C# 如何部分加载“超大”解决方案中的部分项目
在有的特有的项目环境下,团队会将所有的项目使用同一个解决方案进行管理。这种方式方面了管理,但是却会导致解决方案变得非常庞大,导致加载时间过长。那么,如何部分加载解决方案中的部分项目呢?
197 0
C# 如何部分加载“超大”解决方案中的部分项目
|
C# Windows
推荐一个C#开发的窗口扩展菜单,支持系统所有窗口
一个C#开发的窗口扩展项目,采用.NET Framework 4.0开发,支持Windows Xp以及更高版本的系统,同时支持命令模式,可供代码调用。
131 0
推荐一个C#开发的窗口扩展菜单,支持系统所有窗口
|
Linux C#
LINUX C# 加载本地库的范例代码
LINUX C# 加载本地库的范例代码
108 0
|
Java C# 索引
C#编程-50:菜单控件复习笔记
C#编程-50:菜单控件复习笔记
148 0
|
C#
DLL分两种?用C#加载,有的成功,有的失败
DLL分两种?用C#加载,有的成功,有的失败
130 0
|
安全 C#
C#:通过NuGet程序包下载CefSharp来加载谷歌浏览器
    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------       首先我讲明一下我要做的,公司有个C# wpf的项目需要我把一个开发好的网页嵌入到客户端当中,由于种种原因,我放弃了ie,转而选择了CefSharp 本篇博客会讲如何安装C...
2653 0