ScrollableControl.AutoScrollPosition Property
Definition
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; }
[<System.ComponentModel.Browsable(false)>]
member this.AutoScrollPosition : System.Drawing.Point with get, set
Public Property AutoScrollPosition As Point
Property Value
A Point that represents the auto-scroll position in pixels.
- Attributes
Examples
The following code example uses the ScrollableControl derived class Panel and adds a button to the upper left corner of the scrollable area. The example allows for the offset determined by the AutoScrollPosition. The example was written under the assumption that you have a Form that contains a Panel with a Button on it. 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
Remarks
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.
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.
Note
The X and Y coordinate values retrieved are negative if the control has scrolled away from its starting position (0,0). When you set this property, you must always assign positive X and Y values to set the scroll position relative to the starting position. 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. In the first case, AutoScrollPosition returns {-200, 0}; in the second case, it returns {-100,0}.
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.