コード例 #1
0
        /// <summary>
        /// 纯粹子类数据
        /// </summary>
        public bool CreateTreeTable(List <ToolPlugin> list, int rootId, MenuStrip treeMenu, out string error)
        {
            bool isSuccessedCreate = false;

            error = "";

            try
            {
                ToolPlugin root = list.Where(x => x.Pid == rootId).FirstOrDefault();//一定保证有数据,要不然之后功能实现都会错

                if (root != null)
                {
                    BindMenu(list.OrderBy(x => x.Sort).ToList(), rootId);
                    treeMenu          = menuStrip;
                    isSuccessedCreate = true;
                }
            }
            catch (Exception ex)
            {
                error += ex.ToString();
            }

            return(isSuccessedCreate);
        }
コード例 #2
0
        /// <summary>
        /// 添加子菜单
        /// </summary>
        /// <param name="text">要显示的文字,如果为 - 则显示为分割线</param>
        /// <param name="cms">要添加到的子菜单集合</param>
        /// <param name="callback">点击时触发的事件</param>
        /// <returns>生成的子菜单,如果为分隔条则返回null</returns>

        private ToolStripMenuItem AddContextMenu(string text, ToolStripItemCollection cms, ToolPlugin plugin, EventHandler callback)
        {
            if (text == "-")
            {
                ToolStripSeparator tsp = new ToolStripSeparator();
                cms.Add(tsp);
                return(null);
            }
            else if (!string.IsNullOrEmpty(text))
            {
                ToolStripMenuItem tsmi = new ToolStripMenuItem(text);
                tsmi.Tag = text + "TAG";

                if (!string.IsNullOrEmpty(plugin.Pic))
                {
                    try
                    {
                        tsmi.Image = ImageHelper.GetImage(System.Environment.CurrentDirectory + "\\ICon\\" + plugin.Pic);
                    }
                    catch
                    {
                    }
                }

                if (callback != null)
                {
                    tsmi.Click += callback;
                }
                cms.Add(tsmi);

                return(tsmi);
            }

            return(null);
        }