ScrollableControl.AutoScrollPosition Property
Gets or sets the location of the auto-scroll position.
[Visual Basic] 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);
Property Value
A Point object that represents the auto-scroll position in pixels.
Remarks
The AutoScrollPosition property is used to adjust the position of controls contained on the scrollable control.
When adding controls to a scrollable control the x-coordinate and y-coordinate of the AutoScrollPosition must be added to or subtracted as an offset from the corresponding coordinates of the Control.Location property of the control being added. To add a control above or to the left of the scroll position, the offset must be added to the desired location. Alternatively, to add a control below or to the right of the scroll position, the offset must be subtracted.
Note AutoScrollPosition represents the location of the scrollable control's display rectangle. The X and Y coordinate values retrieved are negative if the control has scrolled away from its starting position (0,0). However, when setting this property, you must assign positive X and Y values to scroll away from the starting position and negative values to move toward it.
Example
[Visual Basic, C#, C++] The following 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. This example assumes you have a Form that contains a Panel with a Button on it. To enable auto-scrolling, you should place the button outside of the client area of the Panel.
[Visual Basic] 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] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
See Also
ScrollableControl Class | ScrollableControl Members | System.Windows.Forms Namespace | AutoScroll | AutoScrollMargin | AutoScrollMinSize