请问这行代码应该添在哪里?
我是这样写的:g.FillRectangle(Brushes.White,this.RectangleToClient(this.ClientRectangle));
但是结果不对!

解决方案 »

  1.   

    使用Graphics.TranslateTransform()方法转换坐标,参数使用滚动条的值。
      

  2.   

    Graphics.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);
    X、Y代表水平和垂直滚动条位置。AutoScrollPosition 属性用于调整可滚动控件上包含的控件的位置。在将控件添加到可滚动控件中时,AutoScrollPosition 的 x 坐标和 y 坐标必须作为偏移量添加到所添加控件的 Control.Location 属性的相应坐标上,或从这些坐标中减去这一偏移量。若要将控件添加到滚动位置的上方或左侧,则必须将该偏移量添加到所需的位置上。或者,若要将控件添加到滚动位置的下方或右侧,则必须减去该偏移量。注意    AutoScrollPosition 表示可滚动控件显示框的位置。如果控件从其起始位置 (0,0) 开始向远离起始位置的方向滚动,则检索的 X 和 Y 坐标值将为负数。但是,设置此属性时,必须分配正的 X 和 Y 值,才能从起始位置开始向远离起始位置的方向滚动,而负值表示向起始位置方向移动。