C#图形中的分割线

C#图形中的分割线,c#,graphics,drawing,C#,Graphics,Drawing,我与你划清界限 Graphics gg = this.CreateGraphics(); Pen pen = new Pen(Color.Blue, 2); gg.DrawLine(pen, Lines[0].StartPoint.X, Lines[0].StartPoint.Y, Lines[0].EndPoint.X, Lines[0].EndPoint.Y); 我怎样才能把这条线分成两部分。。。当我用鼠标右键单击并从contextMenuStrip中

我与你划清界限

Graphics gg = this.CreateGraphics();
Pen pen = new Pen(Color.Blue, 2);
gg.DrawLine(pen, Lines[0].StartPoint.X,  Lines[0].StartPoint.Y, 
                 Lines[0].EndPoint.X, Lines[0].EndPoint.Y);
我怎样才能把这条线分成两部分。。。当我用鼠标右键单击并从contextMenuStrip中选择“拆分”时,该行将拆分为三部分

gg.DrawLine(pen, Lines[0].StartPoint.X,  Lines[0].StartPoint.Y, 
                 mouseposition.X, mouseposition.Y);
gg.DrawLine(pen, mouseposition.X, mouseposition.Y,
                 Lines[0].EndPoint.X, Lines[0].EndPoint.Y);

我对你的绘画逻辑了解不够。也许这会有帮助:与其显式地绘制两个线条部分,不如尝试相应地更改
线条
列表。(我假设它是一个
列表
,而不是一个数组)

现在,您可以在循环中调用
DrawLine
一次

Graphics gg = this.CreateGraphics();
Pen pen = new Pen(Color.Blue, 2);

foreach (Line line in Lines) {
    gg.DrawLine(pen, line.StartPoint.X, line.StartPoint.Y,
                     line.EndPoint.X, line.EndPoint.Y);
}

当您只绘制两个部分时,如何将其拆分为三个部分?或者您仍然在调用第一个代码段的
绘图线
Graphics gg = this.CreateGraphics();
Pen pen = new Pen(Color.Blue, 2);

foreach (Line line in Lines) {
    gg.DrawLine(pen, line.StartPoint.X, line.StartPoint.Y,
                     line.EndPoint.X, line.EndPoint.Y);
}