在我的Windows窗体上,我想添加一个允许增长和/或缩小表单的按钮。这可以只用一个按钮完成,还是需要添加2个单独的按钮?这是我在按钮按下时使用的代码。如果再次按下该按钮怎么能变小?
private void buttonGrowShrink(object sender, EventArgs e)
{
this.Size = new Size(320, 490);
}
如果再次按下该按钮,我该如何使用相同的按钮缩小到较小的尺寸?
答案 0 :(得分:1)
下面有两个解决方案。在这两种情况下,我也更改了按钮的文本,以便用户知道如果他们按下它会发生什么,但这是可选的。
一种方法是使用布尔值来跟踪表单的当前大小:
private bool formIsLarge = false;
private void buttonGrowShrink(object sender, EventArgs e)
{
if (formIsLarge)
{
this.Size = new Size(160, 245);
button1.Text = "Grow Form";
}
else
{
this.Size = new Size(320, 490);
button1.Text = "Shrink Form";
}
formIsLarge = !formIsLarge;
}
另一种方法是将表单的当前大小与“大”和“小”大小进行比较,并相应地更改大小:
private void buttonGrowShrink(object sender, EventArgs e)
{
var largeSize = new Size(320, 490);
var smallSize = new Size(160, 245);
if (this.Size.Width >= largeSize.Width || this.Size.Height >= largeSize.Height)
{
this.Size = smallSize;
button1.Text = "Grow Form";
}
else
{
this.Size = largeSize;
button1.Text = "Shrink Form";
}
}
答案 1 :(得分:0)
这是一种在两种尺寸之间切换的简便方法。我们以(400,300)和(600,200)为例。只需将这些值加在一起即可获得恒定的大小。然后在每次单击按钮时从该常量中减去当前大小。像这样:
private void buttonGrowShrink(object sender, EventArgs e)
{
this.Size = new Size(1000, 500) - this.Size;
}