Я хочу отобразить офсайдную виртуальную линию на футбольном поле в моем программном обеспечении C#. Я нарисую много линий внутри Picturebox (это просто), но я хочу, чтобы все линии были скрыты при запуске программы, и когда я делаю щелчок правой кнопкой мыши в любом месте внутри программы Picturebox, автоматически должна отображаться только одна линия, которую я щелкнул на месте мыши в Picturebox .
Я написал этот код, но я знаю, что он неправильный, и просто рисую, как перо, в картинке. Смотрите прикрепленное изображение, мне нравится, что моя программа работает так:
![image](https://i.stack.imgur.com/Tp0RW.jpg)
Код:
private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
{
pointArray[iNumberofClicks].X = e.X;
pointArray[iNumberofClicks].Y = e.Y;
Pen PenSpikes = new Pen(Color.Green);
SolidBrush solidBrush = new SolidBrush(Color.Blue);
iNumberofClicks++;
if (iNumberofClicks > 1)
{
Point[] CurrentpointArray = new Point[iNumberofClicks];
for (int i = 0; i < iNumberofClicks; i++)
{
CurrentpointArray[i].X = pointArray[i].X;
CurrentpointArray[i].Y = pointArray[i].Y;
}
Bitmap canvas = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics offScreenDC = Graphics.FromImage(canvas);
offScreenDC.DrawLines(PenSpikes, CurrentpointArray);
pictureBox1.Image = canvas;
offScreenDC.Dispose();
}
Point mousePnt = PointToClient(Cursor.Position);
label2.Visible = true;
label2.Text = mousePnt.ToString();
}