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};第二次设置时,它返回 {-100,0}。
若要检测 AutoScrollPosition 是否更改,请为 Paint 事件创建一个事件处理程序,将旧位置值保存在一个私有变量中,并在后续 Paint 事件中将新值与旧值进行比较。
示例
下面的代码示例使用 ScrollableControl 派生类 Panel,将一个按钮添加到可滚动区域的左上角。示例允许 AutoScrollPosition 确定的偏距。编写该示例时,假定有一个 Form,其中包含一个 Panel,该面板上有一个 Button。若要启用自动滚动,应将该按钮置于 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 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0
请参见
参考
ScrollableControl 类
ScrollableControl 成员
System.Windows.Forms 命名空间
ScrollableControl.AutoScroll 属性
ScrollableControl.AutoScrollMargin 属性
ScrollableControl.AutoScrollMinSize 属性
VerticalScroll
HorizontalScroll