У меня есть панель, на которой пользователь может что-то нарисовать.
Однако эту панель можно прокручивать, и после прокрутки нарисованные объекты за пределами видимого вида исчезают.
Искал его и думаю, что он как-то связан с аннулированием, но не может понять, в чем проблема
см. Код ниже:
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
Point punt = new Point(e.X, e.Y);
listofpoints.Add(punt);
moving = true;
panel1.Cursor = Cursors.Cross;
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
Graphics g = panel1.CreateGraphics();
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
Point punten = new Point(e.X, e.Y);
Pen penceel = new Pen(def, 5);
penceel.StartCap = penceel.EndCap = System.Drawing.Drawing2D.LineCap.Round;
if (moving && listofpoints.Count > 1)
{
g.DrawLine(penceel, (Point)listofpoints[listofpoints.Count - 1], punten);
listofpoints.Add(punten);
}
}
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
moving = false;
panel1.Cursor = Cursors.Default;
}
private void button2_Click(object sender, EventArgs e)
{
panelhoogte = panelhoogte + 500;
panel1.Height = panelhoogte;
vScrollBar1.Show();
vScrollBar1.Maximum = panel1.Height;
}
private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
//panel1.Invalidate(panel1.Bounds, true);
panel1.Location = new Point((-1*hScrollBar1.Value), (-1 * vScrollBar1.Value));
panel1.Update();
}