C# programok ismertetése érdeklődőknek kezdőktől haladókig

C# MŰHELY

C# MŰHELY

GRAFIKA: Pontok összekötése és törlése

2020. július 17. - Benkő Tiborné

Írjunk programot, amely az egér bal gombjával kattintva a kattintás helyét kék kereszttel jelölje és a következő pont helyét piros vonallal kösse össze Az egér jobb gombjával az utolsó kereszten kattintva törölje  vissza a vonalat az előző pontig, és haladva tovább újabb törlést is végezhessünk.

A feladat megoldása

            private List<Point> Pontok;
        public Form1()
        {
             InitializeComponent();
             Pontok = new List<Point>();
        }

        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                Pontok.Add(e.Location);
                this.Refresh();
            }
            else if (e.Button == MouseButtons.Right)
            {
                Point mp = e.Location;
                foreach (Point pont in Pontok)
                {
                     if (Math.Sqrt(Math.Pow(mp.X - pont.X, 2) +
                         Math.Pow(mp.Y - pont.Y, 2)) < 5)
                     {
                        Pontok.Remove(pont);
                        this.Refresh();
                        break;
                     }
                }
            }
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Pen toll = new Pen(Brushes.Blue, 2);
            foreach (Point pont in Pontok)
            {
                e.Graphics.DrawLine(toll, pont.X - 6, pont.Y,
                                    pont.X + 6, pont.Y);
                e.Graphics.DrawLine(toll, pont.X, pont.Y - 6,
                                    pont.X, pont.Y + 6);
            }
            Point[] pontlanc = Pontok.ToArray();
            if (pontlanc.Length>1)
                e.Graphics.DrawLines(Pens.Red, pontlanc);
        }

A program futási eredményei:

Az utolsó vonal törlése.

További vonalak rajzolása.

 

A bejegyzés trackback címe:

https://csharp-muhely.blog.hu/api/trackback/id/tr2916013986

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása