Нужно поле, при нажатии на которое появляется точка, координаты точек передаются в программу - C#
Формулировка задачи:
Привет. Такая штука ребята, мне нужно поле, при нажатии на него появляется точка, координаты точек передаются в программу и я обходом путей ставлю между точками линии. Самое сложное готово, вот не знаю как сделать поле и чтобы по клику мышкой на нем можно было отмечать точки и как соединить их линиями, за любую подсказку будуу благодарен)
Решение задачи: «Нужно поле, при нажатии на которое появляется точка, координаты точек передаются в программу»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
gr = pictureBox1.CreateGraphics();
}
List<Point> points = new List<Point>();
Graphics gr;
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
points.Add(e.Location); //добавляем в список точку, где была нажата ЛКМ
gr.DrawEllipse(new Pen(colorDialog1.Color, 3), new Rectangle(e.X, e.Y, 5, 5)); //отрисовываем точку
}
private void button2_Click(object sender, EventArgs e)
{
points.Clear(); //очистка списка - удаляем из него все точки
gr.Clear(pictureBox1.BackColor); //очистка pictureBox'a
}
private void button1_Click(object sender, EventArgs e)
{
gr.DrawLines(new Pen(colorDialog1.Color, 2), points.ToArray()); //отрисовка линий по обозначенным точкам
}
private void button3_Click(object sender, EventArgs e)
{
colorDialog1.ShowDialog(); //по нажатию на кнопку вызываем ColorDialog чтобы выбрать цвет точек и линий
}