网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C#WinForm利用sideBar动态加载菜单栏,并创建菜单栏事件

        简要说明:SessionInfo,用于临时保存信息。

创新互联,专注为中小企业提供官网建设、营销型网站制作、成都响应式网站建设公司、展示型成都网站设计、成都做网站、外贸网站建设等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。

                         SessionInfo.m_FrmMain.showFunctionFrm(ccim.Tag.ToString().Trim());//根据窗体全称,打开窗体。

        #region 定义
        private DataTable dt_role = new DataTable();
        private SQLBase SQL_Base = new SQLBase();
        string strMenu = string.Empty;//用于临时保存主模块名称
        SideBarPanelItem sideBarPanel1;
        ControlContainerItem conCI;
        SideBarPanelItem sideBarPanel2 = null;//用于临时保存主模块的控件类型
        #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())
                {
                    sideBarPanel1 = new SideBarPanelItem();//创建主模块控件
                    sideBarPanel1.Text = strMenu = dt_role.Rows[i]["c_MenuGroupName"].ToString();//设置控件内容,并临时保存主模块标题
                    sideBarPanel1.Tag=dt_role.Rows[i]["c_MenuGroupName"].ToString();//设置控件内容
                    sideBar1.Panels.AddRange(new BaseItem[] { sideBarPanel1 });//添加主模块控件
                    conCI = new ControlContainerItem();//创建子模块控件
                    conCI.Text = dt_role.Rows[i]["c_FunctionName"].ToString();//设置控件内容
                    conCI.Tag = dt_role.Rows[i]["c_FrmName"].ToString();//设置点击时,要打开哪个窗体(保存WinForm全称)。
                    conCI.Click += new System.EventHandler(Bar_ItemClicked);//添加事件
                    sideBarPanel1.SubItems.AddRange(new BaseItem[] { conCI });//添加子模块控件
                    sideBarPanel2 = sideBarPanel1;//用于临时保存主模块的控件类型
                }
                else if(strMenu == dt_role.Rows[i]["c_MenuGroupName"].ToString())
                {
                    //如果是相同的主模块,则不再New主模块,直接利用临时保存的sideBarPanel2加载子模块。
                    conCI = new ControlContainerItem();//创建子模块控件
                    conCI.Text = dt_role.Rows[i]["c_FunctionName"].ToString();//设置控件内容
                    conCI.Tag = dt_role.Rows[i]["c_FrmName"].ToString();//设置点击时,要打开哪个窗体(保存WinForm全称)。
                    conCI.Click += new System.EventHandler(Bar_ItemClicked);//添加事件
                    sideBarPanel2.SubItems.AddRange(new BaseItem[] { conCI });//添加子模块控件
                }
            }
        }
        #endregion
        
        #region 创建子模块的当前事件
        private void Bar_ItemClicked(object sender, EventArgs e)
        {
            //传入object类型,判断哪个子模块触发了当前事件。
            ControlContainerItem ccim = (ControlContainerItem)sender;
            if (ccim.Tag.ToString().Trim() != "")
            {
                SessionInfo.m_FrmMain.showFunctionFrm(ccim.Tag.ToString().Trim());//传入WinForm名称
            }
        }
        #endregion

当前名称:C#WinForm利用sideBar动态加载菜单栏,并创建菜单栏事件
网页路径:http://bjjierui.cn/article/gsjded.html

其他资讯