Изменение размера формы во время выполнения в С#
Как изменить размер формы окна во время выполнения?
Я видел примеры, но для каждого требуется свойство Form.Size. Это свойство можно задать следующим образом: http://msdn.microsoft.com/en-us/library/25w4thew.aspx#Y456,
но я создал свою форму приложения в визуальном инструменте, и форма создается следующим образом:
static void Main()
{
Application.Run(new Form());
}
Как мне установить свойство Size
сейчас, а затем изменить его методами Form.Height
и Form.Width
?
Ответы
Ответ 1
Если вы хотите программно манипулировать формой, самым простым решением является сохранение ссылки на нее:
static Form myForm;
static void Main()
{
myForm = new Form();
Application.Run(myForm);
}
Затем вы можете использовать это для изменения размера (или того, что еще вы хотите сделать) во время выполнения. Хотя в качестве указывает стрелка, вы не можете напрямую установить Width
и Height
, но должны установить свойство Size
.
Ответ 2
Вы не можете изменять свойства Width и Height формы, так как они являются readonly. Вы можете изменить размер формы следующим образом:
button1_Click(object sender, EventArgs e)
{
// This will change the Form Width and Height, respectively.
this.Size = new Size(420, 200);
}
Ответ 3
Чтобы вызвать это, вам нужно будет сохранить ссылку на вашу форму и передать ссылку на метод запуска. Затем вы можете вызвать это в обработчике действий.
public partial class Form1 : Form
{
public void ChangeSize(int width, int height)
{
this.Size = new Size(width, height);
}
}
Ответ 4
Вы можете изменить высоту формы, выполнив следующее, в котором вы хотите изменить размер (замените "10" для вашего размера):
this.Height = 10;
Это можно сделать и с шириной:
this.Width = 10;
Ответ 5
Что-то вроде этого отлично подходит для меня:
public partial class Form1 : Form
{
Form mainFormHandler;
...
}
private void Form1_Load(object sender, EventArgs e){
mainFormHandler = Application.OpenForms[0];
//or instead use this one:
//mainFormHandler = Application.OpenForms["Form1"];
}
Затем вы можете изменить размер, как показано ниже:
mainFormHandler.Width = 600;
mainFormHandler.Height= 400;
или
mainFormHandler.Size = new Size(600, 400);
Другим полезным моментом является то, что если вы хотите изменить размер mainForm
из другого Form
, вы можете просто использовать свойство для установки размера.