C# 使形状延伸,直到达到最大宽度和高度
高度总是太高,所有东西都偏离中心,因为形状变得比预期的大 代码:C# 使形状延伸,直到达到最大宽度和高度,c#,winforms,visual-studio-code,C#,Winforms,Visual Studio Code,高度总是太高,所有东西都偏离中心,因为形状变得比预期的大 代码: 在构造函数或设计器中设置窗体的MaximumSize属性: this.MaximumSize = new Size(800, 500); 您将高度和宽度增加了三个像素,这意味着它将跳过许多数字,并且您的If语句设置不正确 以您的widthIf语句为例,您说的是“当宽度大于或等于800时停止”,通过在If语句中使用大于或等于,您允许您的应用程序增长超过所需的大小,并且由于窗口增加了三倍,因此很容易跳过800 您应该更改代码,以便在
在构造函数或设计器中设置窗体的MaximumSize属性:
this.MaximumSize = new Size(800, 500);
您将高度和宽度增加了三个像素,这意味着它将跳过许多数字,并且您的If语句设置不正确 以您的widthIf语句为例,您说的是“当宽度大于或等于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();
}
当你说“它总是走得太远”时,你的意思是窗口会增长到你想要的大小,但它会超过你的屏幕边缘吗?不,它会超过我想要的大小,而不会超过屏幕。我想要的大小是数值还是视觉外观?计时器停止时,宽度和高度的值是多少?你的应用程序是DpiAware吗?我刚刚尝试在设计器中设置它,但仍然不起作用。@Rj1234 Define不起作用?我使用了你的代码,它不会超过那些尺寸。同样的事情发生了,它变得比预期的大。@Rj1234好吧,它有多大?尺寸大于800 x 500?是的,它是否改变了窗体边框样式设置为“无”的事实?
this.Width += 3;
if (this.Width >= 800)
{
timer1.Stop();
this.Width == 800;
timer2.Start();
}