dd=from
Graphics gs = dd.CreateGraphics();
gs.Clear(dd.BackColor);
dd.Invalidate与gs.Clear有什么区别?
--------------------
我在用鼠标绘制一条直线的时候鼠标移动我就绘制
但在绘制之前我的先清楚掉鼠标移动时产生的历史图形
----------
在这时我用gs.Clear会感觉很快用dd.Invalidate感觉交慢
但是我在微软上看到他们的教程里都用的是dd.Invalidate
所以在这里我想请高手指点下向我上面这样的情况我用什么比较好啊?

解决方案 »

  1.   

    dd.Invalidate  会触发重绘的。
      

  2.   


    首先以下是我的推断,未必全对:Clear:函数极有可能是直接发送一个重绘指令到窗口的回调函数中,并等待他执行完毕。
          相当于要求窗口立即重绘整个窗口或部分窗口,是立即而不等待。Invalidate:此函数会标记无效区域,然后发送wm_paint消息,但是这个消息未必立即发送
                  而是空闲才会发送。