用窗体的backgroundImage属性设置背景,画线的代码不要放在paint事件里面,这样要擦除的话只要用this.invalidate()就可以,如果你把画线代码放到Paint事件里面的话那是擦不掉的,背景不用担心,它会自动留着的。
在paint事件之外画线必须先获取graphics:
Graphics g=Graphics.FormHWnd(this.Handle);
g.DrawLine(……); //参数你自己设置
Graphics g = this.CreateGraphics();
g.DrawLine(...);
g.Clear(this.BackColor);