Hi,
ich habe einen Toolstrip button und will wenn dieser geklickt wurde eine Linie auf ein Panel zeichnen. Aber irgendwie funktioniert mein Code nicht richtig. Er zeichnet nichts.
weis jemand vielleicht warum?
LG
sailer
ich habe einen Toolstrip button und will wenn dieser geklickt wurde eine Linie auf ein Panel zeichnen. Aber irgendwie funktioniert mein Code nicht richtig. Er zeichnet nichts.
Code:
private void zeichnen_Click(object sender, EventArgs e)
{
this.zeichnen.CheckState = System.Windows.Forms.CheckState.Checked;
this.anlageplan.Cursor = System.Windows.Forms.Cursors.Hand;
this.anlageplan.MouseDown += new System.Windows.Forms.MouseEventHandler(this.zeichnen_MouseDown);
this.anlageplan.MouseMove += new System.Windows.Forms.MouseEventHandler(this.zeichnen_MouseMove);
this.anlageplan.MouseUp += new System.Windows.Forms.MouseEventHandler(this.zeichnen_MouseUp);
}
private void zeichnen_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
return;
start = new Point(e.X, e.Y);
mouseDown = true;
pfad.StartFigure();
}
private void zeichnen_MouseMove(object sender, MouseEventArgs e)
{
if (!mouseDown)
return;
Point newPoint = new Point(e.X, e.Y);
Graphics grafik = CreateGraphics();
//Linie vom Start zum Endpunkt ziehen
grafik.DrawLine(new Pen(ForeColor), start, newPoint);
grafik.Dispose();
//Alle Linien werden gespeichert
pfad.AddLine(start, newPoint);
//Neuen Startpunkt setzen
start = newPoint;
this.Invalidate();
}
private void zeichnen_MouseUp(object sender, MouseEventArgs e)
{
mouseDown = false;
this.zeichnen.CheckState = System.Windows.Forms.CheckState.Unchecked;
this.anlageplan.Cursor = System.Windows.Forms.Cursors.Default;
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawPath(new Pen(ForeColor), pfad);
}
weis jemand vielleicht warum?
LG
sailer