Нужно поле, при нажатии на которое появляется точка, координаты точек передаются в программу - 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 чтобы выбрать цвет точек и линий
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы