在C#中在运行时更改表单大小

如何在运行时更改窗体大小?

我看过示例,但每个都需要Form.Size属性。 这个属性可以设置如下: http : //msdn.microsoft.com/en-us/library/25w4thew.aspx#Y456 ,但我在可视化工具中创建了我的申请表,表单创建如下:

static void Main() { Application.Run(new Form()); } 

如何设置Size属性,然后通过Form.HeightForm.Width方法更改它?

如果要以编程方式操作表单,最简单的解决方案是保持对它的引用:

 static Form myForm; static void Main() { myForm = new Form(); Application.Run(myForm); } 

然后,您可以使用它在运行时更改大小(或您想要做的任何其他操作)。 虽然Arrow指出你不能直接设置WidthHeight ,但必须设置Size属性。

您不能更改表单的宽度和高度属性,因为它们是只读的。 您可以像这样更改表单的大小:

 button1_Click(object sender, EventArgs e) { // This will change the Form's Width and Height, respectively. this.Size = new Size(420, 200); } 

为了调用它,您必须存储对表单的引用并将引用传递给run方法。 然后你可以在动作处理程序中调用它。

 public partial class Form1 : Form { public void ChangeSize(int width, int height) { this.Size = new Size(width, height); } } 

您可以通过在要更改大小的位置执行以下操作来更改表单的高度(将“10”替换为您的大小):

 this.Height = 10; 

这也可以通过宽度来完成:

 this.Width = 10; 

像这样的东西对我来说很好:

 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); 

另一个有用的点是,如果要从另一个Form更改mainForm的大小,可以使用Property来设置大小。