您应该在 MSDN 上查看此文档。
特别是您会在示例中注意到这一行:
formGraphics.DrawLine(myPen, 0, 0, 200, 200);
这是在做五件不同的事情:
- 首先它会调用我们的
Drawing Object
.
- 第二个和第三个是我们的绘图点。
- 第四和第五是浮动位置。
这显然允许您创建一些有界的位置。显然,如果您已经生成了一个类,该类将在最初构建它时进行处理。然后,当您在另一个类中调用此对象时,您可以position
, dock
, location
, 并anchor
以您调用它的那个形式。
请记住,这假定了一条基本线路,但您可以制作更复杂的东西,如 MSDN 上的此处所示。
潜在问题:
如果您直接在表单上使用示例中的方法,请记住 this
将绑定到所 this
代表的对象的当前范围。一个例子,如果这个代码在一个按钮上:
Pen myPen = Pen(Color.Red);
Graphics formGraphics = this.CreateGraphics();
formGraphics.DrawLine(myPen, 0, 100, 200, 200);
在这种情况下,它将根据按钮对象的位置绑定点。
希望这有助于为您指明正确的方向。
更新:
根据您的问题,听起来您试图将线放在标准标签的上方或下方。这可以很简单地完成,例如:
// Define Label
Label i = new Label();
// Create our Line.
Pen iPen = Pen(Color.Red);
Graphics iGraphics = i.CreateGraphics();
iGraphics.DrawLine(iPen, 0, 250, 0, 0);
// Dock to Bottom of Form
i.Dock = DockStyle.Bottom;
然后,如果您在任何时候使用按钮更改位置,或者在循环中修改文本,您的行将保持绑定到您的label
对象。这不是你想要的吗?