private void pictureBox1_MouseMove(object sender, MouseEventArgs e) { if (pnt == nullPt) { return; } switch (mode) { case 0: if (e.Button == MouseButtons.Left) { Graphics g = Graphics.FromImage(pictureBox1.Image); g.DrawLine(pen, pnt, e.Location); g.Dispose(); pnt = e.Location; pictureBox1.Invalidate(); } break; case 1: case 2: { if (e.Button == MouseButtons.Left) { ReversibleDraw(); movePt = e.Location; ReversibleDraw(); } break; } } }