我有下面的代码可以正常工作,以便在WinForm 3.5应用程序中的控件周围绘制边框。

我不知道是如何对正在绘制的边框进行打勾。我在Inflate(5,5)上尝试了ClientRectangle,但实际上使Border消失了,而使它变厚了。

我得到的印象是,我实际上需要与e.Graphics一起完成此工作,但我一生都无法解决。

有想法吗?

ControlPaint.DrawBorder(
                    e.Graphics, datImmunizationRecieved.ClientRectangle, Color.OrangeRed, ButtonBorderStyle.Solid);




行动中的答案,供将来参考

下面是我实现相同方法但重载的方法(注意:它们都在Paint_Event内部)

var borderColor = Color.FromArgb(173, 216, 230);
var borderStyle = ButtonBorderStyle.Solid;
var borderWidth = 3;

ControlPaint.DrawBorder(
                    e.Graphics,
                    lkuNOImmunizationReason.ClientRectangle,
                    borderColor,
                    borderWidth,
                    borderStyle,
                    borderColor,
                    borderWidth,
                    borderStyle,
                    borderColor,
                    borderWidth,
                    borderStyle,
                    borderColor,
                    borderWidth,
                    borderStyle);

最佳答案

该方法有一个重载,可让您指定所有边的宽度-http://msdn.microsoft.com/en-us/library/616fkc53.aspx

关于c# - ControlPaint.DrawBorder()…但是更厚吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2200974/

10-09 14:30