ScrollableControl.AutoScrollMargin Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o tamanho da margem de rolagem automática.
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
Valor da propriedade
O Size que representa a altura e largura da margem de rolagem automática em pixels.
Exceções
Exemplos
O exemplo de código a seguir usa a classe derivada, Panel. O exemplo avalia o local de uma caixa de texto e altera a aparência e o comportamento de seu contêiner pai, o controle do painel. O exemplo requer que você tenha criado uma instância de um Panel controle TextBoxe Button. Coloque a caixa de texto no painel para que ela se sobreponha a pelo menos uma das bordas do painel. Chame essa função no clique de um botão para ver a diferença no comportamento e na aparência do painel.
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
Comentários
A margem de rolagem automática é a distância entre os controles filho e as bordas do controle pai rolável. O AutoScrollMargin tamanho é adicionado ao tamanho de todos os controles filho contidos no controle rolável para determinar se as barras de rolagem são necessárias ou não. A AutoScrollMargin propriedade é avaliada quando o controle rolável pai é redimensionado ou os controles filho individuais são colocados em exibição e é usado para determinar se as barras de rolagem devem ser exibidas. Os controles encaixados são excluídos dos cálculos que determinam se as barras de rolagem devem ser exibidas.
Observação
Se a propriedade de Dock um controle encaixado estiver definida como DockStyle.Fill, o controle preencherá o controle rolável pai e o controle encaixado será ignorado ao usar o AutoScrollMargin para determinar se as barras de rolagem são necessárias.
Se a distância da borda de um controle filho para o controle rolável pai for menor que o valor atribuído à AutoScrollMargin propriedade e a AutoScroll propriedade estiver definida como true
, a barra de rolagem apropriada será exibida.
Observação
Recomendamos, ao encaixar controles dentro de um controle rolável, que você adicione um controle rolável filho, como um Panel, para conter quaisquer outros controles que possam exigir rolagem. Você deve adicionar o controle filho Panel ao controle rolável e Dock sua propriedade definida como DockStyle.Fill e sua AutoScroll propriedade definida como true
. Você deve definir a AutoScroll propriedade do controle rolável pai como false
.