Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c中设置标签的位置,我想在我的项目中使用一些点来设置位置_C# - Fatal编程技术网

C# 如何在c中设置标签的位置,我想在我的项目中使用一些点来设置位置

C# 如何在c中设置标签的位置,我想在我的项目中使用一些点来设置位置,c#,C#,现在我已经画了一条线,我想写点的信息,这条线连接它们…所以我想设置标签位置来写点位置。。。但是怎么做呢 在本例中,您会特别注意到以下几行: Graphics gr; gr = CreateGraphics(); Pen p = new Pen(System.Drawing.Color.FromArgb(r.Next(255), r.Next(255), r.Next(255)), 1.1f); Point p1 = new Point(array1[currentadd], dx); Poi

现在我已经画了一条线,我想写点的信息,这条线连接它们…所以我想设置标签位置来写点位置。。。但是怎么做呢

在本例中,您会特别注意到以下几行:

Graphics gr;
gr = CreateGraphics();

Pen p = new Pen(System.Drawing.Color.FromArgb(r.Next(255), r.Next(255), r.Next(255)), 1.1f);
Point p1 = new Point(array1[currentadd], dx);

Point p2 = new Point(array1[currentadd], dx = dx + 7);
gr.DrawLine(p, p1, p2);
这是在做五件不同的事情:

首先,它将调用我们的绘图对象。 第二和第三是我们的绘图点。 第四和第五是浮动位置。 这显然允许您创建一些有边界的位置。显然,如果您已经生成了一个类,该类最初将处理这个问题来构建它。然后,当您在另一个类中调用该对象时,您可以定位、停靠、定位和锚定到您调用它的表单

潜在问题:

如果您直接在表单上使用示例中的方法,请记住,this将绑定到表示this的对象的当前范围。例如,如果此代码位于按钮上:

在这种情况下,它将根据按钮对象的位置绑定点

希望这能帮你找到正确的方向

更新:

根据你的问题,听起来你想把线放在标准标签的上方或下方。这可以非常简单地完成,例如:

Pen myPen = Pen(Color.Red);
Graphics formGraphics = this.CreateGraphics();
formGraphics.DrawLine(myPen, 0, 100, 200, 200);

然后,如果使用按钮更改任意点的位置,或修改循环中的文本,则行将保持绑定到标签对象。这不是您想要的吗?

我认为,查找位置、大小、文本等属性应该非常简单。您试图画一条线,然后在上面插入标签,对吗?这可以准确地做到,如果您将线绑定到标签下面,那么当您使用基本停靠或锚定或任何其他位置实用程序时,它将移动到所需的位置。
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;