Laden...

Wie kann ich eine Linie mit einer Checkbox löschen?

Erstellt von Rico913 vor 3 Jahren Letzter Beitrag vor 3 Jahren 1.351 Views
R
Rico913 Themenstarter:in
95 Beiträge seit 2020
vor 3 Jahren
Wie kann ich eine Linie mit einer Checkbox löschen?

Hi,

ich habe eine PictureBox mit einem Bild. Dieses soll vermessen werden.

Mit der Maus soll eine Art Fadenkreuz, wie bspw. im CAD, angezeigt werden. Dies kann der Nutzer mit einem Checkbox-Schalter aktivieren und deaktivieren.
Das funktioniert auch, aber das Fadenkreuz bleibt nach Deaktivierung immer noch gezeichnet und ich bekomme es einfach nicht weg 😦

Hier mein Code:


 private void picBox_Measurement_Overlay_MouseMove(object sender, MouseEventArgs e)
        {
            if (CenterCross_Active == true)
            {
                pictureBox_Image.Paint += new PaintEventHandler(pictureBox_Image_Paint);
                CenterCross_X = e.Location.X;
                CenterCross_Y = e.Location.Y;
                pictureBox_Image.Refresh();
            }
        }

private void togSW_CenterCross_CheckedChanged(object sender, EventArgs e)
        {
            if (togSW_CenterCross.Checked == true)
            {
                CenterCross_Active = true;
            }
            else if (togSW_CenterCross.Checked == false)
            {
                CenterCross_Active = false;
                pictureBox_Image.Paint -= new PaintEventHandler(pictureBox_Image_Paint);
                pictureBox_Image.Refresh();
            }
        }
        
private void pictureBox_Image_Paint(object sender, PaintEventArgs e)
        {
                Pen CenterCross = new Pen(Color.Blue);
                e.Graphics.DrawLine(CenterCross, CenterCross_X, 0, CenterCross_X, pictureBox_Image.Height);
                e.Graphics.DrawLine(CenterCross, 0, CenterCross_Y, pictureBox_Image.Width, CenterCross_Y);
        }

Habt ihr ein Hinweis?

16.835 Beiträge seit 2008
vor 3 Jahren

Identisches Thema wie Linie aus Picturebox löschen - sogar mit fast dem gleichen Titel.

Die Antworten passen aber auch hier; genauso wie aus Deinem Thema Wie kann ich in einer PictureBox die 2te-Nte Linie Zeichnen, ohne dass die erste gelöscht wird? 😉

5.658 Beiträge seit 2006
vor 3 Jahren

Warum willst du das Fadenkreuz selbst zeichnen? Dafür würde es doch ausreichen, den Mauscursor für die PictureBox zu ändern.

Ansonsten:
[Tutorial] Zeichnen in Windows-Forms-Programmen (Paint/OnPaint, PictureBox)
[Tipp] Anfängerhinweis == true / == false

Den Hinweis von Th69 aus deinem letzten Beitrag solltest du beachten.

Weeks of programming can save you hours of planning