次の方法で共有


ScrollableControl.AutoScrollPosition プロパティ

自動スクロールの位置を取得または設定します。

Public Property AutoScrollPosition As Point
[C#]
public Point AutoScrollPosition {get; set;}
[C++]
public: __property Point get_AutoScrollPosition();public: __property void set_AutoScrollPosition(Point);
[JScript]
public function get AutoScrollPosition() : Point;public function set AutoScrollPosition(Point);

プロパティ値

自動スクロールの位置をピクセル単位で表す Point オブジェクト。

解説

AutoScrollPosition プロパティは、スクロール可能なコントロール内にあるコントロールの位置を調整するために使用されます。

スクロール可能なコントロールにコントロールを追加する場合は、 AutoScrollPosition の x 座標と y 座標を、追加するコントロールの Control.Location プロパティの対応する座標からのオフセットとして加算するか、減算する必要があります。スクロール位置の上または左にコントロールを追加する場合は、このオフセットを目的の位置に加算する必要があります。逆に、スクロール位置の下または右にコントロールを追加する場合は、オフセットを減算する必要があります。

メモ    AutoScrollPosition は、スクロール可能なコントロールの表示領域の四角形の位置を表します。コントロールがスクロールされてその開始位置 (0,0) から離れた場合、取得される X 座標値と Y 座標値は負の値になります。ただし、このプロパティを設定する場合、スクロールして開始位置から離れるときは正の値を、スクロールして開始位置に向かうときは負の値を、それぞれ XY に指定する必要があります。

使用例

[Visual Basic, C#, C++] ScrollableControl の派生クラスの Panel を使用し、スクロール可能な領域の左上隅にボタンを追加する例を次に示します。この例では、 AutoScrollPosition から取得されたオフセットを考慮に入れています。この例は、 Button 付きの Panel が配置された Form があることを前提にしています。自動スクロールを有効にするには、 Panel のクライアント領域の外にボタンを配置してください。

 
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

[C#] 
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);
}

[C++] 
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 =  Point(
         0 + panel1->AutoScrollPosition.X,
         0 + panel1->AutoScrollPosition.Y);
      panel1->Controls->Add(myButton);
   }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

ScrollableControl クラス | ScrollableControl メンバ | System.Windows.Forms 名前空間 | AutoScroll | AutoScrollMargin | AutoScrollMinSize