Я разрабатываю программное обеспечение для оцифровки графиков, и мне хотелось бы упростить пользователю удаление любой из точек. По этой причине я использую четырехкратный массив двойников, который содержит x показанной точки, y показанной точки, значение x этой точки и значение y этой точки. Это необходимо для удаления любой из оценочных точек, поскольку она устанавливает связь между показанными и ценными точками. Но вместо добавления новых показанных точек на графике показанная точка просто перемещается на новое место.
Графический код:
Graphics canvas = e.Graphics;
Pen pn = new Pen(pointcolor);
foreach (double[] pnt in valpoints)
{
Point pnt1 = new Point(Convert.ToInt32(pnt[0]) - 2, Convert.ToInt32(pnt[1]));
Point pnt2 = new Point(Convert.ToInt32(pnt[0]) + 2, Convert.ToInt32(pnt[1]));
Point pnt3 = new Point(Convert.ToInt32(pnt[0]), Convert.ToInt32(pnt[1]) - 2);
Point pnt4 = new Point(Convert.ToInt32(pnt[0]), Convert.ToInt32(pnt[1]) + 2);
canvas.DrawLine(pn, pnt1, pnt2);
canvas.DrawLine(pn, pnt3, pnt4);
}
Сбор точек (в список массивов) код:
valpoint[0] = e.X;
valpoint[1] = e.Y;
valpoint[2] = graphX;
valpoint[3] = graphY;
dataGridView1.Rows.Add(graphX.ToString(), graphY.ToString());
valpoints.Add(valpoint);
siskinsoftPanel2.Refresh();
Кто-нибудь знает, как решить эту проблему? Если вы не понимаете этого вопроса, просьба спросить меня.