我在onpaint里画了一幅图, 然后通过单击按钮改变这幅图, 其实也是就重画一副图, 重画的图是在button的click事件里写的Graphics aGraphics = this.CreateGraphics();  为什么后面这幅图有时候会自动消失, 又变成原来那幅图, 怎样不让后一幅图消失, 又能在两幅图之间切换?

解决方案 »

  1.   

    可能 重画的图 button的click事件调用的加载,而加载里面是第一幅图的构造方法
     
      

  2.   

    onpaint里画了一幅图,当你调用button再画一幅的时候,如果系统得知需要refresh的时候,就会调用onpaint函数,这个时候你认为显示的是你button画的图还是onpain画的图呢?
      

  3.   

                两张图应该都在onpaint里画,button事件只是控制画哪张图就好如:
                bool first = true;
                bool second = false;
                onpaint(..)
                {
                      if(first) 画第一张图
                      if(second) 画第二张图
                }
                button_click(..)
                {
                      first = false;
                    second = true;
                    this.Invalidate();
                }