我想画一系列线并移动它们,但我想将第 1 行的终点连接到第 2 行的起点......当我移动第 1 行或第 2 行时...另一条线将通过更改其点来影响
我在这里使用示例图形 - 绘制线 - 绘制线并移动它
并在代码中稍作更改以绘制线条
void LineMover_Paint(object sender, PaintEventArgs e)
{
e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
var pen = new Pen(Color.Black, 2);
e.Graphics.DrawLine(pen, Lines[0].StartPoint, Lines[0].EndPoint);
e.Graphics.DrawLine(pen, Lines[0].EndPoint, Lines[2].StartPoint);
e.Graphics.DrawLine(pen, Lines[2].StartPoint, Lines[2].EndPoint);
}
但是当我移动它们时,我没有我想要的东西......任何帮助??
你还没有写出你在应用程序中看到的效果是什么,这会很有帮助。但是,查看您提供的代码,索引似乎有问题。为了使用后续行,应使用索引 0 和索引 1,而不是 0 和 2。
试试这个代码:
void LineMover_Paint(object sender, PaintEventArgs e)
{
e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
var pen = new Pen(Color.Black, 2);
e.Graphics.DrawLine(pen, Lines[0].StartPoint, Lines[0].EndPoint);
e.Graphics.DrawLine(pen, Lines[0].EndPoint, Lines[1].StartPoint);
e.Graphics.DrawLine(pen, Lines[1].StartPoint, Lines[1].EndPoint);
}
让我知道它是否适合您。如果没有,请提供更详细的信息。
另一个问题是,您是否只想绘制两条或更多连接到其邻居的线?要绘制更多线条,可以考虑使用Graphics.DrawLines()
方法。它允许您分割定义一组连接线的点数组。更多信息和示例代码可在此处找到:http://msdn.microsoft.com/en-us/library/7ewkcdb3.aspx。