如何使用System.Drawing.Pen?

时间:2017-04-17 07:21:17

标签: c# winforms custom-controls system.drawing

我需要创建一个默认情况下与Microsoft表单相同的自定义表单。

目前我正在进行标题栏按钮自定义。

为此,我使用了图形方法来绘制按钮。

请找到我用来绘制最大化按钮的代码。

g.DrawRectangle(new Pen(Color.Black), maxIconRect);

但我无法获得Microsoft表单的确切外观。

在下图中,第一个是我创建的标题栏。第二个是Microsoft表单的标题栏。

Caption bar

您可以在最大化和最小化按钮中看到差异。对于这两种形式,按钮的厚度和清晰度是不同的。

我试图指定笔的宽度,如下所示。

Var pen = new Pen(Color.Black, 0.5F);

但外观上并没有什么不同。

请您提供实现此建议的建议吗?

提前致谢。

1 个答案:

答案 0 :(得分:-1)

禁用抗锯齿并使线位更精细应该可以解决问题(因此,X抗锯齿必须具备!)

修改/解释: 在你的某个地方onPaint方法你得到类似于这个Graphics.SmoothingMode = SmoothingMode.AntiAlias;的行,如果你删除它 - 最大化和最小化按钮应该看起来很好,但X按钮很可能看起来像狗屎所以在绘制X之前插入此行,但之后绘制那两个其他按钮