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

定義

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

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

プロパティ値

自動スクロールの位置をピクセル単位で表す PointA 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.

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 = 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);
   panel1.Controls.Add(myButton);
}
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)
   panel1.Controls.Add(myButton)
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.

適用対象

こちらもご覧ください