SideBar已經(jīng)玩過怎么實現(xiàn)動態(tài)菜單欄了. 那么利用explorerBar控件如何實現(xiàn)? 廢話不說了,直接上代碼.
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站設計、成都網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務橫山,10年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108#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布局是以這個作主界面的,所以利用函數(shù),傳用WinForm名稱。 private Dictionary<string, DockContent> m_FunctionName = new Dictionary<string, DockContent>(); /// <summary> /// 傳入Form名稱,調(diào)用時直接打開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)//如果已經(jīng)打的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 顯示菜單函數(shù) 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 創(chuàng)建子模塊的當前事件 private void Bar_ItemClicked(object sender, EventArgs e) { //傳入object類型,判斷哪個子模塊觸發(fā)了當前事件。 ButtonItem ccim = (ButtonItem)sender; if (ccim.Tag.ToString().Trim() != "") { showFunctionFrm(ccim.Tag.ToString().Trim());//傳入WinForm名稱 } } #endregion
感謝Allen
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。
網(wǎng)站題目:利用explorerBar實現(xiàn)動態(tài)的菜單欄,并創(chuàng)建觸發(fā)事件-創(chuàng)新互聯(lián)
轉載來源:http://www.rwnh.cn/article8/dhhiop.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App設計、全網(wǎng)營銷推廣、標簽優(yōu)化、關鍵詞優(yōu)化、服務器托管、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容