Freigeben über


ScrollableControl.AutoScrollPosition-Eigenschaft

Ruft die Position des AutoBildlaufs ab oder legt diese fest.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public Property AutoScrollPosition As Point
'Usage
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)

Eigenschaftenwert

Ein Point, der die Position des AutoBildlaufs in Pixel darstellt.

Hinweise

Mit der AutoScrollPosition-Eigenschaft wird die Position der im bildlauffähigen Steuerelement enthaltenen Steuerelemente angepasst.

Wenn einem bildlauffähigen Steuerelement Steuerelemente hinzugefügt werden, müssen die x-Koordinate und die y-Koordinate der AutoScrollPosition als Offset zu bzw. von den entsprechenden Koordinaten der Control.Location-Eigenschaft des hinzugefügten Steuerelements addiert bzw. subtrahiert werden. Um ein Steuerelement oberhalb oder links von der Bildlaufposition hinzuzufügen, müssen Sie den Offset zur gewünschten Position addieren. Um hingegen ein Steuerelement unterhalb oder rechts von der Bildlaufposition hinzuzufügen, müssen Sie den Offset subtrahieren.

Hinweis

AutoScrollPosition stellt die Position des Anzeigerechtecks des bildlauffähigen Steuerelements dar. Die abgerufenen Werte der X-Koordinate und der Y-Koordinate sind negativ, wenn Bildlauf von der Anfangsposition des Steuerelements (0,0) aus durchgeführt wurde. Wenn Sie diese Eigenschaft festlegen, müssen Sie stets positive X-Werte und Y-Werte zuweisen, um die Bildlaufposition relativ zur Anfangsposition festzulegen. Wenn z. B. eine horizontale Bildlaufleiste vorhanden ist, und Sie x und y auf 200 festlegen, wird das Bildlauffeld um 200 Pixel nach rechts bewegt. Wenn Sie x und y auf 100 festlegen, bewegt sich das Bildlauffeld um 100 Pixel nach links, da Sie es auf einen Abstand von 100 Pixel von der Startposition festlegen. Im ersten Fall gibt AutoScrollPosition {-200, 0 } zurück, im zweiten Fall wird {-100,0 } zurückgegeben.

Um Änderungen der AutoScrollPosition zu ermitteln, erstellen Sie einen Ereignishandler für das Paint-Ereignis, speichern Sie den alten Positionswert in einer privaten Variablen, und vergleichen Sie bei nachfolgenden Paint-Ereignissen den neuen Wert mit dem alten.

Beispiel

Im folgenden Codebeispiel wird die von ScrollableControl abgeleitete Klasse Panel verwendet und in der linken oberen Ecke des bildlauffähigen Bereichs eine Schaltfläche hinzugefügt. In diesem Beispiel kann der Offset durch die AutoScrollPosition bestimmt werden. Für dieses Beispiels wird vorausgesetzt, dass Sie ein Form mit einem Panel erstellt haben, in dem sich ein Button befindet. Um automatische Bildläufe zu aktivieren, platzieren Sie die Schaltfläche außerhalb des Clientbereichs des 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

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0

Siehe auch

Referenz

ScrollableControl-Klasse
ScrollableControl-Member
System.Windows.Forms-Namespace
ScrollableControl.AutoScroll-Eigenschaft
ScrollableControl.AutoScrollMargin-Eigenschaft
ScrollableControl.AutoScrollMinSize-Eigenschaft
VerticalScroll
HorizontalScroll