Form.AutoSizeMode Свойство

Определение

Возвращает или задает режим, с помощью которого форма может автоматически изменять свои размеры.Gets or sets the mode by which the form automatically resizes itself.

public:
 property System::Windows::Forms::AutoSizeMode AutoSizeMode { System::Windows::Forms::AutoSizeMode get(); void set(System::Windows::Forms::AutoSizeMode value); };
[System.ComponentModel.Browsable(true)]
public System.Windows.Forms.AutoSizeMode AutoSizeMode { get; set; }
member this.AutoSizeMode : System.Windows.Forms.AutoSizeMode with get, set
Public Property AutoSizeMode As AutoSizeMode

Значение свойства

Перечислимое значение AutoSizeMode.An AutoSizeMode enumerated value. Значение по умолчанию — GrowOnly.The default is GrowOnly.

Атрибуты

Исключения

Значение не является допустимым значением AutoSizeMode.The value is not a valid AutoSizeMode value.

Примеры

В следующем примере показана форма, созданная с помощью кода, который автоматически изменяет размер в соответствии с содержимым.The following example shows a form created using code that automatically resizes to fit its contents. При запуске в форме отображается Label, TextBox для ввода URL-адреса и Button для отображения этого URL-адреса в браузере по умолчанию пользователя.When run, the form displays a Label, a TextBox for entering a URL, and a Button for displaying that URL inside of the user's default Web browser. В примере используется FlowLayoutPanel, чтобы разместить вложенные элементы управления один за другим.The example uses a FlowLayoutPanel to lay out the contained controls one after the other. Он также устанавливает AutoSize и AutoSizeMode для увеличения и уменьшения по размеру содержимого формы.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;
    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

Комментарии

Присвоение свойству AutoSizeMode нового значения приводит к тому, что форма снова будет размещена.Setting the AutoSizeMode property to a new value causes the form to be laid out again.

Форма не изменяет размер автоматически в конструкторе форм Visual Studio независимо от значений свойств AutoSize и AutoSizeMode.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. В отличие от этого, Пользовательский UserControl автоматически изменяет размер как во время разработки, так и во время выполнения.By contrast, a custom UserControl automatically resizes itself both at design time and at run time.

Применяется к

Дополнительно