public void BindTree() { DataSet ds = new DataSet(); SqlServerDAL.MenuTree MT=new SqlServerDAL.MenuTree(); ds=MT.GetCategory(); treeview_hr.ImageList = imgtreeview; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { //顶部菜单 ToolStripMenuItem item= new ToolStripMenuItem(ds.Tables[0].Rows[i]["name"].ToString().Trim()); menuStrip_hr.Items.Add(item); //树形菜单 DataSet Cds = MT.GetcData(int.Parse(ds.Tables[0].Rows[i]["cID"].ToString())); TreeNode[] ChildNodes = new TreeNode[Cds.Tables[0].Rows.Count]; for (int j = 0; j < Cds.Tables[0].Rows.Count; j++) { //树形二级菜单 ChildNodes[j] = new TreeNode(); ChildNodes[j].Text = Cds.Tables[0].Rows[j]["title"].ToString().Trim (); ChildNodes[j].Tag = Cds.Tables[0].Rows[j]["dataID"].ToString().Trim (); ChildNodes[j].ImageIndex = 1; //顶部二级菜单 ToolStripMenuItem childitem = new ToolStripMenuItem(Cds.Tables[0].Rows[j]["title"].ToString().Trim()); item.DropDownItems.Add(childitem); childitem.Click += new EventHandler(childitem_Click); } TreeNode node = new TreeNode(ds.Tables[0].Rows[i]["name"].ToString().Trim (), ChildNodes); treeview_hr.Nodes.Add(node); } } private void childitem_Click(object sender, EventArgs e) { HR.ModuleClass.MyModule mymodule = new HR.ModuleClass.MyModule(); mymodule.Show_Form(((ToolStripMenuItem)sender).Text); } private void frm_main_Load(object sender, EventArgs e) { this.toolStripStatuslbldate.Text="当前系统日期: "+ DateTime .Now.ToShortDateString(); this.toolStripStatuslbluser.Text = "当前用户: "+Utility.userloginfor.username.ToString(); } private void treeview_hr_AfterSelect(object sender, TreeViewEventArgs e) { TreeNode node = e.Node; if (node.Level == 1) //子节点 { HR.ModuleClass.MyModule mymodule = new HR.ModuleClass.MyModule(); mymodule.Show_Form(node.Text.Trim()); treeview_hr.SelectedImageIndex = 1; } else { treeview_hr.SelectedImageIndex = 0; } 首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。 然后用此去初始化treeview的ImageList属性 注意:ImageList也是个控件。从工具箱找到ImageList 拖到你的TreeView上 然后就可以设置了