AutoSizeMode Property

Form.AutoSizeMode Property


Gets or sets the mode by which the form automatically resizes itself.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public AutoSizeMode AutoSizeMode { get; set; }

Property Value

Type: System.Windows.Forms.AutoSizeMode

An AutoSizeMode enumerated value. The default is GrowOnly.

Exception Condition

The value is not a valid AutoSizeMode value.

Setting the AutoSizeMode property to a new value causes the form to be laid out again.

A form does not automatically resize in the Visual Studio forms designer, regardless of the values of the AutoSize and AutoSizeMode properties. The form correctly resizes itself at run time according to the values of these two properties. By contrast, a custom UserControl automatically resizes itself both at design time and at run time.

Legacy Code Example

The following code example shows a form created using code that automatically resizes to fit its contents. When run, the form displaya a Label, a TextBox for entering a URL, and a Button for displaying that URL inside of the user's default Web browser. The code example uses a FlowLayoutPanel to lay out the contained controls one after the other. 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;

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

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

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

void urlButton_Click(object sender, EventArgs e)
        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;

    // 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;

.NET Framework
Available since 2.0
Return to top
© 2015 Microsoft