Invalidate() 问题
在button2   事件中,怎么不能用invalidate()啊,用了,在画别的就画不出来了; 
 请同志们帮帮忙啊, 
 private   void   Form1_Paint(object   sender,   System.Windows.Forms.PaintEventArgs   e) 
 { 
 Graphics   g=e.Graphics;  			 
 g.DrawRectangle(Pens.Blue,10,10,40,40);           			  			    
 g.FillRectangle(Brushes.GreenYellow,60,60,100,100);           			 
 }   
 private   void   button1_Click(object   sender,   System.EventArgs   e) 
 { 
 	Graphics   g1; 
 	g1=this.CreateGraphics(); 
 	Point   p=new   Point(70,70); 
 	g1.FillRectangle(Brushes.Brown,p.X,p.Y,20,20);       
    }   
 private   void   button2_Click(object   sender,   System.EventArgs   e) 
 {                                    
 this.Invalidate();//////???????加上为什么旧不显示下边的内容了啊 
 Graphics   g; 
 g=this.CreateGraphics(); 
 g.FillRectangle(Brushes.Blue,100,100,20,20);  			  			 
 }
------解决方案--------------------设置一下全局变量 
 通过单击事件改变全局变量的值 
 然后调用this.Invalidate(); 
 具体的自己考虑考虑吧 
 编程序就得这样,其实画图的具体流程已经很清楚了,以后就得靠自己了 
 画图无非就是两个事件onpaint()  this.Invalidate() 
 这两个事件就可以做基本的操作 
 而如何改变界面的图形只有靠改变onpaint事件中全局变量的值   
 要说的只有这些了 
 好运