Compartir a través de


ScrollableControl.AutoScrollMargin Propiedad

Definición

Obtiene o establece el tamaño del margen de desplazamiento 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 propiedad

Size

Size que representa el alto y ancho en píxeles del margen de desplazamiento automático.

Excepciones

El valor de las propiedades Height o Width asignado es menor que 0.

Ejemplos

En el ejemplo de código siguiente se usa la clase derivada , Panel. En el ejemplo se evalúa la ubicación de un cuadro de texto y se cambia la apariencia y el comportamiento de su contenedor primario, el control del panel. El ejemplo requiere que haya creado una instancia de un Panel control, TextBoxy Button. Coloque el cuadro de texto en el panel para que se superponga al menos uno de los bordes del panel. Llame a esta función en el clic de un botón para ver la diferencia en el comportamiento y la apariencia del panel.

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

Comentarios

El margen de desplazamiento automático es la distancia entre los controles secundarios y los bordes del control primario desplazable. El AutoScrollMargin tamaño se agrega al tamaño de cualquier control secundario incluido en el control desplazable para determinar si se necesitan barras de desplazamiento o no. La AutoScrollMargin propiedad se evalúa cuando se cambia el tamaño del control desplazable primario o se muestran los controles secundarios individuales y se usa para determinar si se deben mostrar las barras de desplazamiento. Los controles acoplados se excluyen de los cálculos que determinan si se deben mostrar las barras de desplazamiento.

Nota

Si la propiedad de Dock un control acoplado se establece DockStyle.Fillen , el control rellena el control desplazable primario y el control acoplado se omite cuando se usa AutoScrollMargin para determinar si se necesitan barras de desplazamiento.

Si la distancia desde el borde de un control secundario al control desplazable primario es menor que el valor asignado a la AutoScrollMargin propiedad y la AutoScroll propiedad se establece trueen , se muestra la barra de desplazamiento adecuada.

Nota

Se recomienda, al acoplar controles dentro de un control desplazable, que agregue un control desplazable secundario, como , Panelpara contener cualquier otro control que pueda requerir desplazamiento. Debe agregar el control secundario Panel al control desplazable y su Dock propiedad establecida en DockStyle.Fill y su AutoScroll propiedad establecida en true. Debe establecer la AutoScroll propiedad del control desplazable primario en false.

Se aplica a

Consulte también