C#图形中的分割线



我用画了一条线

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);

我怎样才能把这条线分成两部分。。。当我用鼠标右键单击并从上下文中选择拆分时,菜单条,,行拆分为三部分

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);

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

var line = new Line{ StartPoint = mouseposition, EndPoint = Lines[0].EndPoint };
Lines.Add(line);
Lines[0].EndPoint = mouseposition;

现在,您总是可以在循环中调用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);
}

相关内容

  • 没有找到相关文章

最新更新