ScrollableControl.AutoScrollPosition ScrollableControl.AutoScrollPosition ScrollableControl.AutoScrollPosition ScrollableControl.AutoScrollPosition Property


取得または自動スクロール位置を設定します。Gets or sets the location of the auto-scroll position.

 property System::Drawing::Point AutoScrollPosition { System::Drawing::Point get(); void set(System::Drawing::Point value); };
public System.Drawing.Point AutoScrollPosition { get; set; }
member this.AutoScrollPosition : System.Drawing.Point with get, set
Public Property AutoScrollPosition As Point


APoint自動スクロールの位置 (ピクセル単位) を表します。A Point that represents the auto-scroll position in pixels.

次のコード例では、ScrollableControlクラスを派生Panelスクロール可能な領域の左上隅にボタンを追加します。The following code example uses the ScrollableControl derived class Panel and adds a button to the upper left corner of the scrollable area. オフセットによって決定されます、例では、AutoScrollPositionします。The example allows for the offset determined by the AutoScrollPosition. 例では、必要のある前提としていますが、Formを格納している、Panelで、Buttonにします。The example was written under the assumption that you have a Form that contains a Panel with a Button on it. 自動スクロールを有効にするには、外部のクライアント領域でボタンを配置、Panelします。To enable auto-scrolling, place the button outside of the client area of the Panel.

   void button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
      /* Add a button to top left corner of the
            * scrollable area, allowing for the offset. */
      panel1->AutoScroll = true;
      Button^ myButton = gcnew Button;
      myButton->Location = Point(0 + panel1->AutoScrollPosition.X,0 + panel1->AutoScrollPosition.Y);
      panel1->Controls->Add( myButton );
private void button1_Click(object sender, EventArgs e)
   /* Add a button to top left corner of the 
    * scrollable area, allowing for the offset. */
   panel1.AutoScroll = true;
   Button myButton = new Button();
   myButton.Location = new Point(
      0 + panel1.AutoScrollPosition.X, 
      0 + panel1.AutoScrollPosition.Y);
Private Sub button1_Click(sender As Object, _
   e As EventArgs) Handles button1.Click
   ' Add a button to top left corner of the 
   ' scrollable area, allowing for the offset. 
   panel1.AutoScroll = True
   Dim myButton As New Button()
   myButton.Location = New Point( _
      0 + panel1.AutoScrollPosition.X, _
      0 + panel1.AutoScrollPosition.Y)
End Sub


AutoScrollPositionプロパティは、スクロール可能なコントロールの表示部分の位置を表します。The AutoScrollPosition property represents the location of the visible portion of a scrollable control. このプロパティを使用すると、表示されるコントロールの部分を変更できます。Use this property to change the portion of the control that is displayed.

コントロールをフォームにプログラムで追加するときに使用して、AutoScrollPositionプロパティを現在の表示可能なスクロール領域の内外のコントロールを配置します。When adding controls programmatically to a form, use the AutoScrollPosition property to position the control either inside or outside of the current viewable scroll area.


XY取得した座標の値が負の値の開始位置 (0, 0) から、コントロールがスクロール可能な場合。The X and Y coordinate values retrieved are negative if the control has scrolled away from its starting position (0,0). このプロパティを設定するときに割り当てる必要があります常に正XY開始位置を基準としたスクロール位置を設定する値。When you set this property, you must always assign positive X and Y values to set the scroll position relative to the starting position. たとえばとした場合、水平スクロール バーをセット x と y を 200、スクロール 200 ピクセル右に移動する、です。セット x と y を 100、スクロールが表示されます、100 ピクセルで、左をジャンプを設定する、100 ピクセルの開始位置から離れた場所であるためです。For example, if you have a horizontal scroll bar and you set x and y to 200, you move the scroll 200 pixels to the right; if you then set x and y to 100, the scroll appears to jump the left by 100 pixels, because you are setting it 100 pixels away from the starting position. 最初のケースでAutoScrollPosition{-200, 0}; を返します。 2 番目のケースを返します{-100,0}します。In the first case, AutoScrollPosition returns {-200, 0}; in the second case, it returns {-100,0}.

検出するAutoScrollPositionのイベント ハンドラーを作成、変更、Paintイベント、古い位置の値をプライベート変数に保存し、後続の古い値に新しい値を比較Paintイベント。To detect when AutoScrollPosition changes, create an event handler for the Paint event, save the old position value in a private variable, and compare the new value to the old value on subsequent Paint events.