Found this great solution here (MSDN)
Worked great for me, hope it'll help somebody else.
- Add a new class (file called MyTreeView.cs) to your project and paste the code shown below.
- Compile.
- Drop the new control called "MyTreeView" from the top of the toolbox onto your form.
You can customize it too, if you know what you are doing
using System; using System.Drawing; using System.Windows.Forms; class MyTreeView : TreeView { public MyTreeView() { this.DrawMode = TreeViewDrawMode.OwnerDrawText; } protected override void OnDrawNode(DrawTreeNodeEventArgs e) { TreeNodeStates state = e.State; Font font = e.Node.NodeFont ?? e.Node.TreeView.Font; Color fore = e.Node.ForeColor; if (fore == Color.Empty) fore = e.Node.TreeView.ForeColor; if (e.Node == e.Node.TreeView.SelectedNode) { fore = SystemColors.HighlightText; e.Graphics.FillRectangle(SystemBrushes.Highlight, e.Bounds); ControlPaint.DrawFocusRectangle(e.Graphics, e.Bounds, fore, SystemColors.Highlight); TextRenderer.DrawText(e.Graphics, e.Node.Text, font, e.Bounds, fore, TextFormatFlags.GlyphOverhangPadding); } else { e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds); TextRenderer.DrawText(e.Graphics, e.Node.Text, font, e.Bounds, fore, TextFormatFlags.GlyphOverhangPadding); } } }