AutoSizeMode Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica cómo se comportará un control cuando se habilite su propiedad AutoSize.
public enum class AutoSizeMode
public enum AutoSizeMode
type AutoSizeMode =
Public Enum AutoSizeMode
- Herencia
Campos
GrowAndShrink | 0 | El control se expande o se contrae para ajustarse a su contenido. No se puede cambiar el tamaño del control manualmente. |
GrowOnly | 1 | El control se expande todo lo necesario para ajustarse a su contenido pero no se contrae menos que el valor de su propiedad Size. Se puede cambiar el tamaño del formulario, pero no se puede reducir hasta el punto de que quede oculto cualquiera de los controles que contiene. |
Ejemplos
En el ejemplo de código siguiente se muestra un formulario creado con código que cambia automáticamente el tamaño para ajustarse a su contenido. Cuando se ejecuta, el formulario mostrará un Labelelemento , un TextBox para escribir una dirección URL y un Button para mostrar esa dirección URL dentro del explorador web predeterminado del usuario. En el ejemplo de código se usa un FlowLayoutPanel elemento para diseñar los controles contenidos uno después del otro, y se establece y AutoSize AutoSizeMode para crecer y reducir para ajustarse al contenido de su formulario.
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
Al establecer el valor GrowAndShrink, se produce el mismo comportamiento que se obtiene para los controles con la AutoSize propiedad habilitada, pero que no tienen ningún comportamiento
Propiedad AutoSizeMode
. Se respetan las MinimumSize propiedades y MaximumSize , pero se omite el valor actual de la Size propiedad .