我在winform应用程序中有一个树视图。我已将其DrawMode属性设置为OwnerDrawAll并使用其drawode事件来自定义树节点,因为我想在用户执行搜索时显示突出显示的文本。现在,我想改进它进一步使其节点看起来像截图中的节点。它们看起来像按钮。但我如何绘制一个看起来像按钮的矩形。
这是我绘制节点的代码。
private void trwFileExplorer_DrawNode(object sender, DrawTreeNodeEventArgs)
{
if (e.Node.IsSelected || trwFileExplorer_SelectedNodes.Contains(e.Node))
{
e.Graphics.FillRectangle(blueBrush, e.Bounds);
ControlPaint.DrawFocusRectangle(e.Graphics, e.Bounds, Color.White, blueBrush.Color);
e.Node.BackColor = blueBrush.Color;
e.Node.ForeColor = Color.White;
}
else
{
e.Node.ForeColor = Color.Black;
e.Node.BackColor = Color.Empty;
e.Graphics.FillRectangle(Brushes.White, e.Bounds);
}
}
答案 0 :(得分:1)
如果不为您编写代码,可以参考以下几点:
e.DrawDefault
设置为false
,以完全控制绘图过程。▼
和►
,并将其绘制为文字。