ScrollableControl.AutoScrollMargin Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает размер поля автоматической прокрутки.
public:
property System::Drawing::Size AutoScrollMargin { System::Drawing::Size get(); void set(System::Drawing::Size value); };
public System.Drawing.Size AutoScrollMargin { get; set; }
member this.AutoScrollMargin : System.Drawing.Size with get, set
Public Property AutoScrollMargin As Size
Значение свойства
Объект Size, который представляет высоту и ширину (в пикселях) поля автоматической прокрутки.
Исключения
Примеры
В следующем примере кода используется производный класс Panel. В этом примере оценивается расположение текстового поля и изменяется внешний вид и поведение родительского контейнера, элемента управления панели. В этом примере требуется создать экземпляр Panel элемента управления и TextBoxButton. Поместите текстовое поле на панель, чтобы она перекрывала по крайней мере один из краев панели. Вызовите эту функцию при нажатии кнопки, чтобы увидеть разницу в поведении и внешнем виде панели.
void SetAutoScrollMargins()
{
/* If the text box is outside the panel's bounds,
turn on auto-scrolling and set the margin. */
if ( text1->Location.X > panel1->Location.X || text1->Location.Y > panel1->Location.Y )
{
panel1->AutoScroll = true;
/* If the AutoScrollMargin is set to less
than (5,5), set it to 5,5. */
if ( panel1->AutoScrollMargin.Width < 5 || panel1->AutoScrollMargin.Height < 5 )
{
panel1->SetAutoScrollMargin( 5, 5 );
}
}
}
private void SetAutoScrollMargins()
{
/* If the text box is outside the panel's bounds,
turn on auto-scrolling and set the margin. */
if (text1.Location.X > panel1.Location.X ||
text1.Location.Y > panel1.Location.Y)
{
panel1.AutoScroll = true;
/* If the AutoScrollMargin is set to less
than (5,5), set it to 5,5. */
if( panel1.AutoScrollMargin.Width < 5 ||
panel1.AutoScrollMargin.Height < 5)
{
panel1.SetAutoScrollMargin(5, 5);
}
}
}
Private Sub SetAutoScrollMargins()
' If the text box is outside the panel's bounds,
' turn on auto-scrolling and set the margin.
If (text1.Location.X > panel1.Location.X) Or _
(text1.Location.Y > panel1.Location.Y) Then
panel1.AutoScroll = True
' If the AutoScrollMargin is set to less
' than (5,5), set it to 5,5.
If (panel1.AutoScrollMargin.Width < 5) Or _
(panel1.AutoScrollMargin.Height < 5) Then
panel1.SetAutoScrollMargin(5, 5)
End If
End If
End Sub
Комментарии
Поле автоматической прокрутки — это расстояние между любыми дочерними элементами управления и краями прокручиваемого родительского элемента управления. Размер AutoScrollMargin добавляется к размеру всех дочерних элементов управления, содержащихся в прокручиваемом элементе управления, чтобы определить, нужны ли полосы прокрутки. Свойство AutoScrollMargin вычисляется, когда родительский прокручиваемый элемент управления изменяется или отдельные дочерние элементы управления отображаются в представлении, и используется для определения необходимости отображения полос прокрутки. Закрепленные элементы управления исключаются из вычислений, которые определяют, должны ли отображаться полосы прокрутки.
Примечание
Если свойству закрепленного элемента управления присвоено значениеDockStyle.Fill, элемент управления Dock заполняет родительский прокручиваемый элемент управления, а закрепленный элемент управления игнорируется при использовании AutoScrollMargin для определения необходимости полос прокрутки.
Если расстояние от края дочернего элемента управления к родительскому прокручиваемому элементу управления меньше значения, присвоенного AutoScrollMargin свойству, и AutoScroll свойству присваивается значение true
, отображается соответствующая полоса прокрутки.
Примечание
При закреплении элементов управления в прокручиваемом элементе управления рекомендуется добавить дочерний прокручиваемый элемент управления( например, для Panelхранения других элементов управления, которые могут потребовать прокрутки). Вы должны добавить дочерний Panel элемент управления в прокручиваемый элемент управления, а его Dock свойство имеет DockStyle.Fill AutoScroll true
значение . Для свойства родительского прокручиваемого элемента управления следует задать значение AutoScroll false
.