ScrollableControl.AutoScrollPosition Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает местоположение позиции автоматической прокрутки.
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
Значение свойства
Объект Point, который предоставляет позицию автоматической прокрутки (в пикселях).
- Атрибуты
Примеры
В следующем примере кода используется производный ScrollableControl класс Panel и кнопка добавляется в левый верхний угол прокручиваемой области. В примере допускается смещение, определяемое .AutoScrollPosition Пример был написан с предположением, что у вас есть объект Form , содержащий Panel объект с элементом .Button Чтобы включить автоматическую прокрутку, поместите кнопку за пределы клиентской 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
Комментарии
Свойство AutoScrollPosition представляет расположение видимой части прокручиваемого элемента управления. Используйте это свойство, чтобы изменить часть отображаемого элемента управления.
При программном добавлении элементов управления в форму используйте AutoScrollPosition свойство , чтобы разместить элемент управления внутри или за пределами текущей просматриваемой области прокрутки.
Примечание
Полученные X значения координат и Y являются отрицательными, если элемент управления прокрутился от начальной позиции (0,0). При установке этого свойства необходимо всегда назначать положительные X значения и Y , чтобы задать позицию прокрутки относительно начальной позиции. Например, если у вас есть горизонтальная полоса прокрутки и задано значение x и y равным 200, вы перемещаете прокрутку на 200 пикселей вправо; Если затем задать значение x и y равным 100, прокрутка будет прыгать влево на 100 пикселей, так как вы устанавливаете ее на 100 пикселей от начальной позиции. В первом случае AutoScrollPosition возвращает {-200, 0}, во втором — .{-100,0}
Чтобы обнаружить AutoScrollPosition изменения, создайте обработчик событий для Paint события, сохраните старое значение позиции в частной переменной и сравните новое значение со старым значением при последующих Paint событиях.