加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#绘制多条线

发布时间:2020-12-15 23:25:26 所属栏目:百科 来源:网络整理
导读:我使用此代码绘制了多行,但我觉得有更好的方法可以做到这一点. 例如.通过使用多维数组?还是清单? private void drawLines() { int[] x1 = { 0,112,222,333,1}; int[] x2 = { 334,334,1 }; int[] y1 = { 100,200,300,1,300 }; int[] y2 = { 100,0 }; for (i
我使用此代码绘制了多行,但我觉得有更好的方法可以做到这一点.
例如.通过使用多维数组?还是清单?

private void drawLines()
    {
        int[] x1 = {   0,112,222,333,1};
        int[] x2 = { 334,334,1 };
        int[] y1 = { 100,200,300,1,300 };
        int[] y2 = { 100,0 };

        for (int i = 0; i < x1.Length; i++)
        {
            Line line = new Line();
            Grid myGrid = gg;
            line.Stroke = Brushes.Black;
            line.X1 = x1[i];
            line.X2 = x2[i];
            line.Y1 = y1[i];
            line.Y2 = y2[i];
            line.StrokeThickness = 2;
            myGrid.Children.Add(line);
        }

    }

解决方法

我将在struct Point中创建一个具有该行的起点和终点的Line类,并创建该类的列表而不是具有四个数组.

public class MyLine
{
     public Point StartPoint {get; set;}
     public Point EndPoint {get; set;}

     public void DrawLine()
     {
         //Draw line code goes here
     }
}

现在你有了带有必填字段和方法的线类来绘制线条.您可能在其他类中的drawLines方法将创建MyLine类的列表,并可以使用Line类方法DrawLine绘制该行列表

private void DrawLines()
{
    List<MyLine> listMyLines = new  List<MyLine>();
    listMyLines.Add(new MyLine{StartPoint = new Point(0,100),EndPoint = new Point(334,100)});       

    for (int i = 0; i < listMyLines.Count; i++)
    {
         listMyLines[i].DrawLine();
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读