我怎样才能在运行时更改窗口大小的形式?
我看到的例子,但每一个需要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);
}
然后,您可以用它来改变在运行时的大小(或你想要做什么别的永远)。 虽然作为箭头指出你不能设置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方法。 然后你就可以在的ActionHandler调用它。
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);
另一个有用的一点是,如果你想要的大小而改变mainForm
从另一个Form
,你可以简单地使用属性设置大小。