[对,我正在尝试在我的项目中的每个表单周围绘制边框。我目前的方法是将相同的代码分别复制到每个表单中,但是得出的结论是,为了简单起见,最好将所有代码都放在一个类中。
我提出的课程看起来像这样:
class PaintBorder
{
private static Rectangle topBorder;
private static Rectangle leftBorder;
private static Rectangle rightBorder;
private static Rectangle bottomBorder;
private static int borderThickness;
public static void GenerateBorder(Form form, int thickness)
{
topBorder = new Rectangle(0, 0, form.Width, borderThickness);
leftBorder = new Rectangle(0, 0, borderThickness, form.Height);
rightBorder = new Rectangle(form.Width - borderThickness, 0, borderThickness, form.Height);
bottomBorder = new Rectangle(0, form.Height - borderThickness, form.Width, borderThickness);
Brush b = new SolidBrush(Theme.borderColor);
Graphics g = form.CreateGraphics();
g.FillRectangle(b, topBorder);
g.FillRectangle(b, leftBorder);
g.FillRectangle(b, rightBorder);
g.FillRectangle(b, bottomBorder);
g.Dispose();
}
}
我将要绘制的表单以及边框的粗细传递给GenerateBorder(),但这似乎不起作用。调用该方法时,表单上没有任何内容。
所以我的问题是,我在做什么错?
对,只是我很傻。我从未真正给borderThickness赋值,这显然意味着什么都看不到。我的坏。