ScrollableControl.AutoScrollMargin Propriedade

Definição

Obtém ou define o tamanho da margem de deslocamento automático.

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 de Propriedade

A Size que representa a altura e largura da margem de auto-scroll em pixels.

Exceções

O Height valor ou Width atribuído é inferior a 0.

Exemplos

O seguinte exemplo de código utiliza a classe derivada, Panel. O exemplo avalia a localização de uma caixa de texto e altera a aparência e o comportamento do seu contentor pai, o controlo do painel. O exemplo exige que tenha criado uma instância de controlo Panel , TextBox, e Button. Coloque a caixa de texto no painel de forma a sobrepor pelo menos uma das bordas do painel. Chame esta função com um clique para ver a diferença no comportamento e 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

Observações

A margem de auto-scroll é a distância entre quaisquer controlos filhos e as bordas do controlo pai deslocável. O AutoScrollMargin tamanho é adicionado ao tamanho de quaisquer controlos filhos contidos no controlo scrollável para determinar se as barras de scroll são necessárias ou não. A AutoScrollMargin propriedade é avaliada quando o controlo de scroll parental é redimensionado ou os controlos individuais dos filhos são apresentados, e é usada para determinar se as barras de scroll devem ser exibidas. Os controlos acoplados são excluídos dos cálculos que determinam se as barras de rolagem devem ser exibidas.

Note

Se a propriedade de Dock um controlo acoplado estiver definida para DockStyle.Fill, o controlo preenche o controlo de rolagem parental e o controlo acoplado é ignorado ao usar o AutoScrollMargin para determinar se são necessárias barras de scroll.

Se a distância da borda de um controlo filho até ao controlo deslocável do pai for menor do que o valor atribuído à AutoScrollMargin propriedade e a AutoScroll propriedade for definida para true, é apresentada a barra de deslocamento apropriada.

Note

Recomendamos, ao acoplar controlos dentro de um controlo scrollável, que adicione um controlo scrollável filho, como um Panel, para conter quaisquer outros controlos que possam exigir scrolling. Deves adicionar o controlo filho Panel ao controlo scrollable e a sua Dock propriedade definida para DockStyle.Fill e a sua AutoScroll propriedade definida para true. Deves definir a AutoScroll propriedade do controlo de scroll parental para false.

Aplica-se a

Ver também