public partial class Form1 : Form { private bool isMouseDown; Bitmap canvas; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.Size = new Size(500, 500); this.MouseDown += new MouseEventHandler(Form1_MouseDown); this.MouseUp += new MouseEventHandler(Form1_MouseUp); this.MouseMove += new MouseEventHandler(Form1_MouseMove); canvas = new Bitmap(this.Size.Width, this.Size.Height); } private void Form1_MouseDown(object sender, MouseEventArgs e) { isMouseDown = true; } private void Form1_MouseUp(object sender, MouseEventArgs e) { isMouseDown = false; } private void Form1_MouseMove(object sender, MouseEventArgs e) { if (isMouseDown) { Color c = Color.Black; Random r = new Random(); int x = e.X, y = e.Y, s = r.Next(10); for (int i = 0; i < s; i++) { try { switch (r.Next(8)) { case 0: canvas.SetPixel(x + s, y, c); break; case 1: canvas.SetPixel(x - s, y, c); break; case 2: canvas.SetPixel(x, y + s, c); break; case 3: canvas.SetPixel(x, y + -s, c); break; case 4: canvas.SetPixel(x + s, y + s, c); break; case 5: canvas.SetPixel(x - s, y + s, c); break; case 6: canvas.SetPixel(x - s, y - s, c); break; case 7: canvas.SetPixel(x - s, y - s, c); break; } } catch { } } canvas.SetPixel(e.X, e.Y, Color.Black); using (Graphics g = this.CreateGraphics()) { g.DrawImage(canvas, Point.Empty); } } }