Form.AutoSize Egenskap

Definition

Ändra storlek på formuläret enligt inställningen AutoSizeModeför .

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

Egenskapsvärde

true om formuläret kommer att ändra storlek automatiskt; false om den måste ändras manuellt.

Attribut

Exempel

I följande exempel visas ett formulär som skapats med kod som automatiskt ändrar storlek så att det passar innehållet. När du kör formuläret visas en Label, en TextBox för att ange en URL och en Button för att visa webbadressen i användarens standardwebbläsare. I exemplet används en FlowLayoutPanel för att lägga ut de inneslutna kontrollerna en efter en. Det ställer också in AutoSize och AutoSizeMode för att växa och krympa för att passa innehållet i dess 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
    AutoSize = True
    AutoSizeMode = AutoSizeMode.GrowAndShrink
    Text = "URL Opener"

    flowPanel = New FlowLayoutPanel()
    flowPanel.AutoSize = True
    flowPanel.AutoSizeMode = AutoSizeMode.GrowAndShrink
    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

Kommentarer

Använd AutoSize för att tvinga ett formulär att ändra storlek så att det passar innehållet.

Ett formulär ändrar inte storlek automatiskt i Visual Studio formulärdesignern, oavsett värdena för egenskaperna AutoSize och AutoSizeMode. Formuläret ändrar storlek på sig själv vid körning enligt värdena för dessa två egenskaper. Däremot ändrar en anpassad UserControl storlek automatiskt både vid designtid och vid körning.

När du använder AutoSizeMinimumSize respekteras egenskaperna ochMaximumSize, men det aktuella värdet för Size egenskapen ignoreras. Att använda AutoSize och AutoSizeMode renderar AutoScroll även egenskapen överflödigt, eftersom det inte finns något sätt att krympa formuläret för att dölja dess inneslutna kontroller från vyn.

AutoSizeMode Se uppräkningen för information om hur ett formulär beter sig när AutoSize är true.

Gäller för