ScrollableControl.AutoScrollPosition プロパティ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim instance As ScrollableControl Dim value As Point value = instance.AutoScrollPosition instance.AutoScrollPosition = 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

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からScrollableControl.AutoScrollPosition プロパティを検索する場合は、下記のリンクをクリックしてください。

- ScrollableControl.AutoScrollPosition プロパティのページへのリンク