拖动滚动条后图像不对了
写了段代码单击窗体后画一个矩形和一个圆窗体的AutoScrollMinSize为(400,400)主要代码如下: 
 his.AutoScroll   =   true; 
 this.AutoScrollMinSize   =   new   System.Drawing.Size(400,   400); 
 private   void   Form1_Click(object   sender,EventArgs   e) 
                         { 
                                     Graphics   g1   =   this.CreateGraphics(); 
                                     g1.DrawRectangle(pen,   0,   0,   200,   200); 
                                     g1.DrawEllipse(pen,   200,   200,   200,   200); 
                         } 
 为什么拖动滚动条后,图像就变得乱了,但是缩小放大后图像没有变化,怎么会这样呢?请高手解释问题产生的原因,该如何解决问题,谢谢。
------解决方案--------------------g1.DrawRectangle(Pens.Red, AutoScrollPosition.X, AutoScrollPosition.Y, 200 + AutoScrollPosition.X, 200 + AutoScrollPosition.Y); 
             g1.DrawEllipse(Pens.Red, AutoScrollPosition.X + 200, AutoScrollPosition.Y + 200, 200, 200); 
 再加上        private void Form1_Scroll(object sender, ScrollEventArgs e) 
         { 
             Invalidate(ClientRectangle); 
         }   
 这是因为你点滚动条后 客户区还是原来的客户区 (0,0)仍为于你所看到的左上角 而不会运动到屏幕外
------解决方案--------------------1:没有必要在Form1_Scroll事件里使用Invalidate(ClientRectangle);   
 2:你可以对控件在构造函数里如下设置: 
 this.SetStyle(ControlStyles.ResizeRedraw, true);