ScrollableControl.AutoScrollMargin Propriedade

Definição

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

Size

O Size que representa a altura e largura da margem de rolagem automática em pixels.

Exceções

O valor Height ou Width atribuído é menor que 0.

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.

Aplica-se a

Confira também