你可以通过对TreeView自定义绘制,这样就可以在每个节点上使用Graphics.DrawString来绘指定字体样式的字符串了.

解决方案 »

  1.   

    比如:
    protected override void OnPaint(PaintEventArgs e)
    {
    base.OnPaint(e);
    this.treeView1.DrawMode = TreeViewDrawMode.OwnerDrawText;
    }private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e)
    {
    using (Font font = new Font("宋体", 9))
    {
    using (SolidBrush brush = new SolidBrush(Color.Green))
    {
    e.Graphics.DrawString(e.Node.Text, font, brush, e.Bounds);
    }
    }
    }
      

  2.   

    TreeNode拥有的一些属性:
    BackColor, ForeColor, NodeFont.....应该满足你的要求了。。
      

  3.   

    字体本身没有颜色,它的体现是当使用某个Brush绘制的时候Brush的颜色.代码上面给出了.
      

  4.   

    private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
    {
    e.Node.BackColor = Color.Green;//背景色
    e.Node.ForeColor = Color.Red; //字体的颜色
    e.Node.NodeFont = new Font("Arial", 9, FontStyle.Bold );//字体
    }
      

  5.   

    当然,你如果要精确控制你的node的text的位置,
    可以像hbxtlhx(平民百姓-自已动手,丰衣足食)说的那样,自己画。如果只是一般要求BackColor,ForeColor,NodeFont这三个就够了。