Form.AutoSize Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Изменяет размеры формы в соответствии со значением 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
Значение свойства
Значение true
, если размеры формы будут автоматически изменены; false
, если их необходимо изменять вручную.
- Атрибуты
Примеры
В следующем примере показана форма, созданная с помощью кода, который автоматически изменяет размер в соответствии с его содержимым. При запуске форма отображает url-адрес Label, 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
Комментарии
Используется для AutoSize принудительного изменения размера формы в соответствии с его содержимым.
Форма не изменяется автоматически в конструкторе форм Visual Studio независимо от значений AutoSize и AutoSizeMode свойств. Форма правильно изменяет размер во время выполнения в соответствии со значениями этих двух свойств. В отличие от этого, пользователь UserControl автоматически изменяет размер себя как во время разработки, так и во время выполнения.
При использовании AutoSizeMinimumSize учитываются и MaximumSize свойства, но текущее значение Size свойства игнорируется. Использование AutoSize и AutoSizeMode также отрисовывает AutoScroll свойство лишним, так как невозможно сжать форму, чтобы скрыть содержащиеся в нем элементы управления из представления.
Сведения о том, как ведет себя форма, AutoSize true
см. в AutoSizeMode перечислении.