我正在编写一个用户可以扩展和收缩的自定义控件。为了获得最直观的用户体验,我想使用之前用户可能遇到的plus和minus图标。它们可用于TreeView控件,因此理论上我应该可以直接访问它们以供我控制。我只是不确定如何。
答案 0 :(得分:4)
您可以尝试使用VisualStyle classes:
using System.Windows.Forms.VisualStyles;
protected override void OnPaint(PaintEventArgs e) {
VisualStyleRenderer treeClose = new VisualStyleRenderer(VisualStyleElement.TreeView.Glyph.Closed);
treeClose.DrawBackground(e.Graphics, new Rectangle(16, 16, 16, 16));
TextRenderer.DrawText(e.Graphics, "Closed Branch", SystemFonts.DefaultFont, new Point(32, 16), Color.Black);
VisualStyleRenderer treeOpen = new VisualStyleRenderer(VisualStyleElement.TreeView.Glyph.Opened);
treeOpen.DrawBackground(e.Graphics, new Rectangle(16, 32, 16, 16));
TextRenderer.DrawText(e.Graphics, "Opened Branch", SystemFonts.DefaultFont, new Point(32,32), Color.Black);
base.OnPaint(e);
}
如果您的应用程序不支持VisualStyles,则必须自己手动绘制它们,这不是太难。一个矩形加一条或两条中间的线。