Form.AutoSize Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Změňte velikost formuláře podle nastavení .AutoSizeMode
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
Hodnota vlastnosti
true pokud formulář automaticky změní velikost; false pokud se musí změnit jeho velikost ručně.
- Atributy
Příklady
Následující příklad ukazuje formulář vytvořený pomocí kódu, který automaticky změní velikost tak, aby odpovídal jeho obsahu. Při spuštění formulář zobrazí Labeladresu URL TextBox a adresu URL a Button adresu URL pro zobrazení této adresy URL ve výchozím webovém prohlížeči uživatele. Příklad používá FlowLayoutPanel k rozložení obsažených ovládacích prvků jeden za druhým. Nastaví také AutoSize a AutoSizeMode zvětší a zmenší tak, aby odpovídal obsahu jeho formy.
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
Poznámky
Slouží AutoSize k vynucení změny velikosti formuláře tak, aby odpovídala jeho obsahu.
Formulář automaticky nemění velikost návrháře formulářů sady Visual Studio bez ohledu na hodnoty AutoSize hodnot a AutoSizeMode vlastností. Formulář se správně změní v době běhu podle hodnot těchto dvou vlastností. Naproti tomu vlastní automaticky UserControl mění velikost sebe sama v době návrhu i v době běhu.
Při použití AutoSizese respektují vlastnosti MinimumSize a MaximumSize vlastnosti, ale aktuální hodnota Size vlastnosti je ignorována. Použití AutoSize a AutoSizeMode také vykresluje AutoScroll vlastnost nadbytečné, protože neexistuje způsob, jak formulář zmenšit, aby se skryly jeho obsažené ovládací prvky ze zobrazení.
Podívejte se na AutoSizeMode výčet informací o tom, jak se formulář chová, když AutoSize je true.