这是一个 OUTLOOK样式,菜单可以绑定到sidebarpanelitem,但是事件不能绑定,我想
baseitem[ii].Click += new System.EventHandler(submenuitem.Click); //这句话是错的,不能通过编译,在这里想绑定相对应的菜单事件不知道怎写了,如相对应的菜单事件usermangerTool_Click等

解决方案 »

  1.   

     //搞定了,outlook样式菜单事件绑定面板
           private void sideBar1_ItemClick(object sender, EventArgs e)
            {
              
                System.Windows.Forms.ToolStripMenuItem submenuitem = new System.Windows.Forms.ToolStripMenuItem();
                if (sender is DevComponents.DotNetBar.ButtonItem)
                {
                    DevComponents.DotNetBar.ButtonItem item = sender as DevComponents.DotNetBar.ButtonItem;
                    for (int ii = 0; ii < menuStrip1.Items.Count; ii++)
                    {
                        submenuitem = (ToolStripMenuItem)menuStrip1.Items[ii];
                        for (int iii = 0; iii < submenuitem.DropDownItems.Count; iii++)
                        {
                            if (item.Name.Trim() == submenuitem.DropDownItems[iii].Name.Trim())
                            {
                                submenuitem.DropDownItems[iii].PerformClick();                        }
                        }
                    }
                }
            }
      

  2.   

            private void Bind()
            {
           
        SqlConnection conn = new SqlConnection();
        conn = DataAccess.DataAccessSqlconnection();
           DataSet ds = new DataSet();
           DataSet ds1 = new DataSet();
                ds=DataAccess.ReturnDataSet(conn,CommandType.Text,"select distinct(e_dept) from ep01","ep01");
                MessageBox.Show(ds.Tables[0].Rows.Count.ToString());
                TreeNode catenode;
                TreeNode pronode;
                foreach (DataRow caterow in ds.Tables[0].Rows)
                {
                    catenode = new TreeNode();
                    catenode.Text = caterow["e_dept"].ToString();
                    catenode.Tag = caterow["e_dept"].ToString();
                    treeView1.Nodes.Add(catenode);                ds1 = DataAccess.ReturnDataSet(conn, CommandType.Text, "select e_no,e_name from ep01 where e_dept='" + caterow["e_dept"].ToString() + "'", "ep01");
                    if (ds1.Tables[0].Rows.Count > 0)
                    {
                        foreach (DataRow prorow in ds1.Tables[0].Rows)
                        {
                            pronode = new TreeNode();
                            pronode.Text = prorow["e_name"].ToString();
                            pronode.Tag = prorow["e_no"].ToString();
                            catenode.Nodes.Add(pronode);                    }                }
                }
        }