This is working for me... even if Refresh in MouseHover is commented... but maybe you should try uncommenting it. private void pictureBox1_MouseHover(object sender, System.EventArgs e) { //Refresh(); } private void pictureBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { Refresh(); } private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { using (Graphics g = this.CreateGraphics()) { PaintEventArgs pa = new PaintEventArgs(g, this.ClientRectangle); g.SmoothingMode = SmoothingMode.AntiAlias; //Draw anything pa.Graphics.DrawLine(new Pen(Color.FromArgb(255, 0, 0, 0)), new PointF(MousePosition.X-10, MousePosition.Y+10), new PointF(MousePosition.X-20, MousePosition.Y+20)); } } In any case, if you can't get it to work, drop me .cs on pele@zig-zag.net and I'll look into it. Cheers