Это довольно просто, когда вы выясните форматирование , которое определяет тире:
float[] dashValues = { 5, 2, 15, 4 };
Pen blackPen = new Pen(Color.Black, 5);
blackPen.DashPattern = dashValues;
e.Graphics.DrawLine(blackPen, new Point(5, 5), new Point(405, 5));
Числа в массиве с плавающей точкой представляют собой длины тире разных цветов.Таким образом, для простого штриха в 2 пикселя (черного) и по два с каждого ваш массив будет выглядеть следующим образом: {2,2}
Затем шаблон повторяется.Если бы вы хотели штрихи шириной 5 с 2 пикселями, вы бы использовали {5,2}
В вашем коде это выглядело бы так:
// Get Graphics object from chart
Graphics graph = e.ChartGraphics.Graphics;
PointF point1 = PointF.Empty;
PointF point2 = PointF.Empty;
// Set Maximum and minimum points
point1.X = -110;
point1.Y = -110;
point2.X = 122;
point2.Y = 122;
// Convert relative coordinates to absolute coordinates.
point1 = e.ChartGraphics.GetAbsolutePoint(point1);
point2 = e.ChartGraphics.GetAbsolutePoint(point2);
// Draw (dashed) connection line
float[] dashValues = { 4, 2 };
Pen dashPen= new Pen(Color.Yellow, 3);
dashPen.DashPattern = dashValues;
graph.DrawLine(dashPen, point1, point2);