Form.AutoSize Form.AutoSize Form.AutoSize Form.AutoSize Property

Definición

Cambie el tamaño del formulario de acuerdo con la configuración de AutoSizeMode.Resize the form according to the setting of AutoSizeMode.

public:
 virtual property bool AutoSize { bool get(); void set(bool value); };
[System.ComponentModel.Browsable(true)]
public override bool AutoSize { get; set; }
member this.AutoSize : bool with get, set
Public Overrides Property AutoSize As Boolean

Valor de propiedad

true si el formulario cambia de tamaño automáticamente; false si debe cambiarse de tamaño manualmente.true if the form will automatically resize; false if it must be manually resized.

Ejemplos

En el ejemplo de código siguiente se muestra un formulario que se crean mediante código que cambia automáticamente de tamaño para ajustar su contenido.The following code example shows a form created using code that automatically resizes to fit its contents. Cuando se ejecuta, el formulario muestra un Label, un TextBox para escribir una dirección URL y un Button para mostrar esa dirección URL en el Explorador de Web predeterminado del usuario.When run, the form displays a Label, a TextBox for entering a URL, and a Button for displaying that URL inside of the user's default Web browser. El ejemplo de código se usa un FlowLayoutPanel diseñar el objeto contenido controla uno tras otro.The code example uses a FlowLayoutPanel to lay out the contained controls one after the other. También establece la AutoSize y AutoSizeMode crezca y disminuya para ajustarse al contenido de su formulario.It also sets the AutoSize and AutoSizeMode to grow and shrink to fit the contents of its form.

private void Form1_Load(object sender, EventArgs e)
{
    this.AutoSize = true;
    this.AutoSizeMode = AutoSizeMode.GrowAndShrink;
    this.Text = "URL Opener";

    flowPanel = new FlowLayoutPanel();
    flowPanel.AutoSize = true;
    flowPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink;
    this.Controls.Add(flowPanel);

    urlLabel = new Label();
    urlLabel.Name = "urlLabel";
    urlLabel.Text = "URL:";
    urlLabel.Width = 50;
    urlLabel.TextAlign = ContentAlignment.MiddleCenter;
    flowPanel.Controls.Add(urlLabel);

    urlTextBox = new TextBox();
    urlTextBox.Name = "urlTextBox";
    urlTextBox.Width = 250;
    flowPanel.Controls.Add(urlTextBox);

    urlButton = new Button();
    urlButton.Name = "urlButton";
    urlButton.Text = "Open URL in Browser";
    urlButton.Click += new EventHandler(urlButton_Click);
    flowPanel.Controls.Add(urlButton);
}

void urlButton_Click(object sender, EventArgs e)
{
    try
    {
        Uri newUri = new Uri(urlTextBox.Text);
    }
    catch (UriFormatException uriEx)
    {
        MessageBox.Show("Sorry, your URL is malformed. Try again. Error: " + uriEx.Message);
        urlTextBox.ForeColor = Color.Red;
        return;
    }
    
    // Valid URI. Reset any previous error color, and launch the URL in the 
    // default browser.
    // NOTE: Depending on the user's settings, this method of starting the
    // browser may use an existing window in an existing Web browser process.
    // To get around this, start up a specific browser instance instead using one of
    // the overloads for Process.Start. You can examine the registry to find the
    // current default browser and launch that, or hard-code a specific browser.
    urlTextBox.ForeColor = Color.Black;
    Process.Start(urlTextBox.Text);
}
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.AutoSize = True
    Me.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
    Me.Text = "URL Opener"

    flowPanel = New FlowLayoutPanel()
    flowPanel.AutoSize = True
    flowPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
    Me.Controls.Add(flowPanel)

    urlLabel = New Label()
    urlLabel.Name = "urlLabel"
    urlLabel.Text = "URL:"
    urlLabel.Width = 50
    urlLabel.TextAlign = ContentAlignment.MiddleCenter
    flowPanel.Controls.Add(urlLabel)

    urlTextBox = New TextBox()
    urlTextBox.Name = "urlTextBox"
    urlTextBox.Width = 250
    flowPanel.Controls.Add(urlTextBox)

    urlButton = New Button()
    urlButton.Name = "urlButton"
    urlButton.Text = "Open URL in Browser"
    flowPanel.Controls.Add(urlButton)
End Sub


Private Sub urlButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles urlButton.Click
    Try
        Dim newUri As New Uri(urlTextBox.Text)
    Catch uriEx As UriFormatException
        MessageBox.Show(("Sorry, your URL is malformed. Try again. Error: " + uriEx.Message))
        urlTextBox.ForeColor = Color.Red
        Return
    End Try

    ' Valid URI. Reset any previous error color, and launch the URL in the 
    ' default browser.
    ' NOTE: Depending on the user's settings, this method of starting the
    ' browser may use an existing window in an existing Web browser process.
    ' To get around this, start up a specific browser instance instead using one of
    ' the overloads for Process.Start. You can examine the registry to find the
    ' current default browser and launch that, or hard-code a specific browser.
    urlTextBox.ForeColor = Color.Black
    Process.Start(urlTextBox.Text)
End Sub

Comentarios

Use AutoSize para forzar un formulario para cambiar el tamaño para ajustar su contenido.Use AutoSize to force a form to resize to fit its contents.

Un formulario no se ajusta automáticamente en el Diseñador de formularios de Visual Studio, independientemente de los valores de la AutoSize y AutoSizeMode propiedades.A form does not automatically resize in the Visual Studio forms designer, regardless of the values of the AutoSize and AutoSizeMode properties. El formulario cambia de tamaño correctamente en tiempo de ejecución según los valores de estas dos propiedades.The form correctly resizes itself at run time according to the values of these two properties. Por el contrario, un personalizado UserControl cambia automáticamente de tamaño en tiempo de diseño y en tiempo de ejecución.By contrast, a custom UserControl automatically resizes itself both at design time and at run time.

Cuando se usa AutoSize, MinimumSize y MaximumSize se respetan las propiedades, pero el valor actual de la Size propiedad se omite.When using AutoSize, the MinimumSize and MaximumSize properties are respected, but the current value of the Size property is ignored. Mediante AutoSize y AutoSizeMode también representa el AutoScroll propiedad superflua, ya que no hay ninguna manera de reducir el formulario para ocultar los controles que contiene la vista.Using AutoSize and AutoSizeMode also renders the AutoScroll property superfluous, as there is no way to shrink the form to hide its contained controls from view.

Consulte la AutoSizeMode enumeración para obtener información sobre cómo comporta un formulario cuando AutoSize es true.See the AutoSizeMode enumeration for information on how a form behaves when AutoSize is true.

Se aplica a