在C#中在运行时更改表单大小
如何在运行时更改窗体大小?
我看过示例,但每个都需要Form.Size属性。 这个属性可以设置如下: http : //msdn.microsoft.com/en-us/library/25w4thew.aspx#Y456 ,但我在可视化工具中创建了我的申请表,表单创建如下:
static void Main() { Application.Run(new Form()); }
如何设置Size
属性,然后通过Form.Height
和Form.Width
方法更改它?
如果要以编程方式操作表单,最简单的解决方案是保持对它的引用:
static Form myForm; static void Main() { myForm = new Form(); Application.Run(myForm); }
然后,您可以使用它在运行时更改大小(或您想要做的任何其他操作)。 虽然Arrow指出你不能直接设置Width
和Height
,但必须设置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来设置大小。