AutoSizeMode AutoSizeMode AutoSizeMode AutoSizeMode Enum

定义

指定启用控件的 AutoSize 属性时该控件的行为。Specifies how a control will behave when its AutoSize property is enabled.

public enum class AutoSizeMode
public enum AutoSizeMode
type AutoSizeMode = 
Public Enum AutoSizeMode
继承

字段

GrowAndShrink GrowAndShrink GrowAndShrink GrowAndShrink 0

控件根据它的内容增大或缩小。The control grows or shrinks to fit its contents. 不能手动调整该控件的大小。The control cannot be resized manually.

GrowOnly GrowOnly GrowOnly GrowOnly 1

控件可以根据其内容任意增大,但不会缩小至小于它的 Size 属性值。The control grows as much as necessary to fit its contents but does not shrink smaller than the value of its Size property. 窗体可以调整大小,但不能缩小到它所包含的任意控件被隐藏。The form can be resized, but cannot be made so small that any of its contained controls are hidden.

示例

下面的代码示例显示了创建使用自动调整大小以适合其内容的代码的窗体。The following code example shows a form created using code that automatically resizes to fit its contents. 时运行,将显示在窗体Label、 一个TextBox用于输入 URL,和一个Button为在用户的默认 Web 浏览器显示该 URL。When ran, the form will display a Label, a TextBox for entering a URL, and a Button for displaying that URL inside of the user's default Web browser. 代码示例使用FlowLayoutPanel进行布局所包含控件一次是在另一个,并设置AutoSizeAutoSizeMode以放大或缩小以适合其窗体的内容。The code example uses a FlowLayoutPanel to lay out the contained controls one after the other, and 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

注解

设置 GrowAndShrink 值生成相同的行为,你将获得使用控件AutoSize属性启用,但其中没有任何Setting the GrowAndShrink value produces the same behavior that you get for controls with the AutoSize property enabled but which have no

AutoSizeMode 属性。AutoSizeMode property. MinimumSizeMaximumSize属性会遵循,但当前值Size属性将被忽略。The MinimumSize and MaximumSize properties are respected, but the current value of the Size property is ignored.

适用于

另请参阅