ScrollableControl.AutoScrollPosition プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ScrollableControl.AutoScrollPosition プロパティの意味・解説 

ScrollableControl.AutoScrollPosition プロパティ

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

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Property AutoScrollPosition As
 Point
Dim instance As ScrollableControl
Dim value As Point

value = instance.AutoScrollPosition

instance.AutoScrollPosition = value
public Point AutoScrollPosition { get; set;
 }
public:
property Point AutoScrollPosition {
    Point get ();
    void set (Point value);
}
/** @property */
public Point get_AutoScrollPosition ()

/** @property */
public void set_AutoScrollPosition (Point value)
public function get AutoScrollPosition
 () : Point

public function set AutoScrollPosition
 (value : Point)

プロパティ値
自動スクロールの位置をピクセル単位で表す Point。

解説解説

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

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

メモメモ

AutoScrollPosition は、スクロール可能なコントロールの表示領域の四角形の位置を表します。コントロールがスクロールされてその開始位置 (0,0) から離れた場合、取得される X 座標値と Y 座標値は負の値になります。このプロパティを設定するときは、X と Y に必ず正の値を割り当てて、開始位置を基準として相対的にスクロール位置を設定する必要があります。たとえば、水平スクロール バーの場合、x と y を 200 に設定すると、スクロールが右側に 200 ピクセル移動します。その後、x と y を 100 に設定すると、スクロールは左側に 100 ピクセル分ジャンプするように見えます。これは、スクロールを開始位置から 100 ピクセル離れた位置に設定するからです。最初の例では、AutoScrollPosition は {-200, 0} を返し、2 番目の例では、{-100,0} を返します。

AutoScrollPosition が変化したときにそのことを検知するには、Paint イベントのイベント ハンドラを作成し、元の位置の値をプライベート変数に保存し、次の Paint イベントで新しい値と元の値を比較します。

使用例使用例

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
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:
   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.set_AutoScroll(true);
    Button myButton = new Button();
    myButton.set_Location(new Point(0 + panel1.get_AutoScrollPosition().
        get_X(), 0 + panel1.get_AutoScrollPosition().get_Y()));
    panel1.get_Controls().Add(myButton);
} //button1_Click
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ScrollableControl クラス
ScrollableControl メンバ
System.Windows.Forms 名前空間
ScrollableControl.AutoScroll プロパティ
ScrollableControl.AutoScrollMargin プロパティ
ScrollableControl.AutoScrollMinSize プロパティ
VerticalScroll
HorizontalScroll



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

ScrollableControl.AutoScrollPosition プロパティのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   



ScrollableControl.AutoScrollPosition プロパティのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS