没有动窗体,paint事件为何会一直触发?求大神指点
c#吧
全部回复
仅看楼主
level 3
taobo0987 楼主
private void Form1_Paint(object sender, PaintEventArgs e)
{
Bitmap bitm = new Bitmap(this.panel1.Width, this.panel1.Height);
Graphics g = Graphics.FromImage(bitm);
g.Clear(Color.White);
Pen p = new Pen(Color.Black, 5);
g.DrawLine(p, 20, 20, 20, this.panel1.Height - 20);
this.panel1.BackgroundImage = bitm; p.Dispose();
g.Dispose(); }
2020年05月23日 08点05分 1
level 13
你动了鼠标,鼠标在窗体上哪怕是划过了也会触发,因为windows 的窗体显示就是在一直不断重绘的过程
2020年05月23日 10点05分 2
不动鼠标和窗体,还是一样闪烁
2020年05月23日 11点05分
@taobo0987 你不应该写在paint事件里,而是写在load事件里,也不用clear
2020年05月23日 13点05分
@人不自在 写在load里确实没问题,但是为什么写在paint里就会出现这个情况呢?clear有没有不影响啊
2020年05月23日 13点05分
@taobo0987 因为你在paint 里不停的给panel的背景重新赋值
2020年05月23日 13点05分
level 13
这样就可以了
2020年05月23日 13点05分 4
level 13
补一下抗矩齿方案吧
2020年05月23日 13点05分 5
1