每次激活这个form的时候重画啊

解决方案 »

  1.   

    把希望保存下来的结果,放在OnPaint中。比如:鼠标移动的时候有坐标线跟着移动,当鼠标点击的时候就把此时的线,放到Form_Paint中去做。这样当窗口移动或覆盖,重绘的时候就有了。
    另外,可以搜索一下以前的帖子。记得有人问过。
    ------------------
    Think and Thank
      

  2.   

    感谢楼上的朋友们,但是很显然,在窗口被激活时重画窗口不合适。因为如果图形很多的话,要花费大量的时间,而且还有一点很重要,如果窗体只是被遮挡住了一部分,那么使用Paint事件则需要重绘整个窗体,而我只想重绘被遮挡住的,不知道有没有办法?
      

  3.   

    还是重写onPaint
    不过麻烦一点
    professional c#中有现成的例子,好像在GUI一章,程序源码你可以到
    www.wrox.com下载,先要注册一下,是免费的,只要你提供一个email地址
      

  4.   

    OnPaint事件有个叫CilipRectangle的属性它指示出重绘区域的大小。
    在OnPaint中用e.ClipRectangle可得到.
    具体的请在.Net文档中找 PaintEventArgs。