重写TreeView的Draw节点方法

时间:2012-07-26 19:37:24

标签: c# winforms treeview

我正在尝试重写这样的方法:

private void myTreeView_DrawNode(object sender, DrawTreeNodeEventArgs e)
        {
            //Custome properties
            TextRenderer.DrawText(e.Graphics, e.Node.Text, e.Node.Font, e.Node.Bounds, Color.Black);
        }

一切都很好,但节点附近没有迹象(正/负):

pic

他们实际存在并且他们工作,但他们是看不见的。如何用这种方法重写它们或者我做错了什么?

2 个答案:

答案 0 :(得分:1)

绘图有三种模式:

TreeView.DrawMode:

  • 正常
    TreeView将为您绘制所有内容

  • OwnerDrawText
    TreeView将为您绘制+/-和行(如果ShowPlusMinus = true且ShowRootLines = true)。您所要做的就是绘制文本部分。

  • OwnerDrawAll
    您必须绘制所有内容。

答案 1 :(得分:0)

首先应将这些属性设置为true。

 myTreeView.ShowPlusMinus = true;
 myTreeView.ShowRootLines = true;

必须将DrawMode属性设置为normal。