//重绘treeview节点样式 private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e) { Color foreColor; Color backColor; if ((e.State & TreeNodeStates.Selected) > 0) { foreColor = Color.DarkOrange;//鼠标点击节点时文字颜色 backColor = Color.DimGray;//鼠标点击节点时背景颜色 } else if ((e.State & TreeNodeStates.Hot) > 0) { foreColor = Color.Lime;//鼠标经过时文字颜色 backColor = Color.Gray;//鼠标经过时背景颜色 } else { foreColor = this.treeView1.ForeColor; backColor = this.treeView1.BackColor; } e.Graphics.FillRectangle(new SolidBrush(backColor), new Rectangle(e.Bounds.Location, new Size(this.treeView1.Width - e.Bounds.X, e.Bounds.Height))); e.Graphics.DrawString(e.Node.Text, this.treeView1.Font, new SolidBrush(foreColor), e.Bounds.X,e.Bounds.Y+5); }