它总是与高度相同,并且一切都偏离中心,因为Form变得比预期的大。
代码:
private void timer1_Tick(object sender, EventArgs e)
{
this.Width += 3;
if (this.Width >= 800)
{
timer1.Stop();
timer2.Start();
}
}
private void timer2_Tick(object sender, EventArgs e)
{
this.Height += 3;
if (this.Height >= 500)
{
timer2.Stop();
}
}
答案 0 :(得分:1)
在构造函数或设计器中设置表单的MaximumSize属性:
this.MaximumSize = new Size(800, 500);
答案 1 :(得分:0)
您将高度和宽度增加了3个像素,这意味着它将跳过很多数字,并且您的If语句设置不正确。
以宽度 If Statement 为例,您说的是 Greater or Equal 等于800时停止在If语句中,您允许应用程序增长到所需的大小,并且由于窗口增加了三倍,因此很容易跳过800多个窗口。
您应该更改代码,以使偶数递增。
if(this.Width % 2 == 1)
this.Width += 3;
else if(this.Width % 2 == 0)
this.Width += 2;
if (this.Width >= 800)
{
timer1.Stop();
timer2.Start();
}
上面的代码非常草率,但是它应该可以工作,直到找到更好的解决方案,或者一旦通过所需的大小,就可以手动将其更改回去,因为根据您发布的代码,它应该只有几个数字。
this.Width += 3;
if (this.Width >= 800)
{
timer1.Stop();
this.Width == 800;
timer2.Start();
}