C#中TreeView节点的自定义绘制方法
本文实例讲述了C#中TreeView节点的自定义绘制方法。分享给大家供大家参考。具体如下:
if((e.State&TreeNodeStates.Selected)!=0)
{
//演示为绿底白字
e.Graphics.FillRectangle(Brushes.DeepSkyBlue,e.Node.Bounds);
FontnodeFont=e.Node.NodeFont;
if(nodeFont==null)nodeFont=((TreeView)sender).Font;
e.Graphics.DrawString(e.Node.Text,nodeFont,Brushes.White,Rectangle.Inflate(e.Bounds,2,0));
}
else
{
e.DrawDefault=true;
}
if((e.State&TreeNodeStates.Focused)!=0)
{
using(PenfocusPen=newPen(Color.Black))
{
focusPen.DashStyle=System.Drawing.Drawing2D.DashStyle.Dot;
RectanglefocusBounds=e.Node.Bounds;
focusBounds.Size=newSize(focusBounds.Width-1,
focusBounds.Height-1);
e.Graphics.DrawRectangle(focusPen,focusBounds);
}
}
希望本文所述对大家的C#程序设计有所帮助。