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?
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? 😉
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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