使表单扩展到最大宽度和高度

时间:2020-05-26 21:46:32

标签: c# winforms visual-studio-code

它总是与高度相同,并且一切都偏离中心,因为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();
    }
}

2 个答案:

答案 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();
        }