91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用explorerBar實現動態的菜單欄,并創建觸發事件

發布時間:2020-07-03 01:48:48 來源:網絡 閱讀:1328 作者:taosport 欄目:編程語言

    SideBar已經玩過怎么實現動態菜單欄了. 那么利用explorerBar控件如何實現? 廢話不說了,直接上代碼.

        #region 菜單定義
        private DataTable dt_role = new DataTable();
        private SqlDB SQL_Base = new SqlDB();
        string strMenu = string.Empty;//用于臨時保存主模塊名稱
        ExplorerBarGroupItem groupBox1;
        ButtonItem buttonItem1;
        ExplorerBarGroupItem groupBox2 = null;//用于臨時保存主模塊的控件類型
        #endregion
        #region 左邊菜單欄設置,因為dockPanel布局是以這個作主界面的,所以利用函數,傳用WinForm名稱。
        private Dictionary<string, DockContent> m_FunctionName = new Dictionary<string, DockContent>();
        /// <summary>
        /// 傳入Form名稱,調用時直接打開Form,并顯示在dockPanel布局里面。(左邊菜單欄設置)
        /// </summary>
        /// <param name="frmName"></param>
        public void showFunctionFrm(string frmName)
        {
            if (!m_FunctionName.ContainsKey(frmName))
            {
                m_FunctionName.Add(frmName, null);
            }
            if (m_FunctionName[frmName] == null || m_FunctionName[frmName].IsDisposed)//如果已經打的Form,則不再打開。
            {
                ObjectHandle obj = Activator.CreateInstance(Assembly.GetExecutingAssembly().GetName().Name, frmName);
                m_FunctionName[frmName] = (DockContent)obj.Unwrap();
            }
            m_FunctionName[frmName].AutoHidePortion = 0.15;
            m_FunctionName[frmName].Show(dockPanel1, DockState.Document);
        }
        #endregion
        #region 顯示菜單函數
        private void Menu_Load()
        {
            dt_role = SQL_Base._GetUserRole(SessionInfo._GroupID);//查找登錄者的權限
            for (int i = 0; i < dt_role.Rows.Count; i++)
            {
                //if用于判斷,如果是相同主模塊,則不再重復添加控件。
                if (string.IsNullOrEmpty(strMenu) || strMenu != dt_role.Rows[i]["c_MenuGroupName"].ToString())
                {
                    groupBox1 = new ExplorerBarGroupItem();
                    groupBox1.SetDefaultAppearance();
                    groupBox1.Expanded = true;
                    groupBox1.Text = strMenu = dt_role.Rows[i]["c_MenuGroupName"].ToString();                    
                    groupBox1.Tag = dt_role.Rows[i]["c_MenuGroupName"].ToString();
                    explorerBar1.Groups.AddRange(new ExplorerBarGroupItem[] { groupBox1 });             
                    buttonItem1 = new ButtonItem();
                    buttonItem1.Text = dt_role.Rows[i]["c_FunctionName"].ToString();
                    buttonItem1.Tag = dt_role.Rows[i]["c_FrmName"].ToString();
                    buttonItem1.Click += new System.EventHandler(Bar_ItemClicked);
                    groupBox1.SubItems.AddRange(new ButtonItem[] { buttonItem1 });
                    groupBox2 = groupBox1;
                }
                else if (strMenu == dt_role.Rows[i]["c_MenuGroupName"].ToString())
                {
                    buttonItem1 = new ButtonItem();
                    buttonItem1.Text = dt_role.Rows[i]["c_FunctionName"].ToString();
                    buttonItem1.Tag = dt_role.Rows[i]["c_FrmName"].ToString();
                    buttonItem1.Click += new System.EventHandler(Bar_ItemClicked);
                    groupBox2.SubItems.AddRange(new ButtonItem[] { buttonItem1 });
                }
            }
        }
        #endregion 
     
        #region 創建子模塊的當前事件
        private void Bar_ItemClicked(object sender, EventArgs e)
        {
            //傳入object類型,判斷哪個子模塊觸發了當前事件。
            ButtonItem ccim = (ButtonItem)sender;
            if (ccim.Tag.ToString().Trim() != "")
            {
                showFunctionFrm(ccim.Tag.ToString().Trim());//傳入WinForm名稱
            }
        }
        #endregion

    感謝Allen

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

义乌市| 涟水县| 四川省| 丰原市| 张北县| 临武县| 白城市| 西丰县| 开平市| 永和县| 鄱阳县| 离岛区| 醴陵市| 博爱县| 海原县| 讷河市| 兴仁县| 恩施市| 莎车县| 汝州市| 万荣县| 栾城县| 甘德县| 乌拉特前旗| 应用必备| 瓮安县| 喀喇| 离岛区| 阿城市| 海林市| 吐鲁番市| 印江| 汕尾市| 沐川县| 周口市| 潞城市| 晋中市| 保康县| 洮南市| 外汇| 邛崃市|