AutoSizeMode Перечисление

Определение

Определяет, как будет вести себя элемент управления, когда его свойство AutoSize разрешено.

public enum class AutoSizeMode
public enum AutoSizeMode
type AutoSizeMode = 
Public Enum AutoSizeMode
Наследование
AutoSizeMode

Поля

GrowAndShrink 0

Размеры элемента управления увеличиваются или уменьшаются по размеру его содержимого. Размеры элемента управления невозможно изменять вручную.

GrowOnly 1

Размеры элемента управления могут увеличиваться по размерам его содержимого, однако они не уменьшаются до значения, меньшего заданного свойством Size. Размеры формы можно изменять, но их нельзя сделать настолько малыми, что какие-либо содержащиеся в ней элементы управления становятся скрытыми.

Примеры

В следующем примере кода показана форма, созданная с помощью кода, который автоматически изменяет размер в соответствии с его содержимым. При запуске форма будет отображать Labelurl-адрес, а TextBox также URL-адрес Button для отображения этого URL-адреса в веб-браузере пользователя по умолчанию. В примере кода используется для FlowLayoutPanel размещения содержащихся элементов управления один за другим, а также задает AutoSize размер и AutoSizeMode сжатие в соответствии с содержимым формы.

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 , но которые не имеют

Свойство AutoSizeMode. MaximumSize Свойства MinimumSize учитываются, но текущее значение Size свойства игнорируется.

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

См. также раздел