在windows窗体上,我希望添加一个按钮,该按钮将允许窗体增长和/或收缩。这可以用一个按钮来完成吗?还是我需要添加两个单独的按钮?这是我用来在按下按钮时成长的代码。如果再次按下按钮,如何将其缩小?
private void buttonGrowShrink(object sender, EventArgs e)
{
this.Size = new Size(320, 490);
}如果再次按下按钮,我如何使用相同的按钮缩小到更小的大小?
发布于 2015-04-08 18:36:03
以下是两种解决办法。在这两种情况下,我还更改了按钮的文本,以便用户知道如果按下按钮会发生什么,但这将是可选的。
一种方法是使用布尔值来跟踪表单的当前大小:
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";
}
}发布于 2015-04-08 18:50:57
这是一种在两种尺寸之间切换的简单方法。例如,让我们使用(400,300)和(600,200)。只要将这些值相加,就可以得到一个恒定的大小。然后,每次单击按钮时,从该常量中减去当前大小。就像这样:
private void buttonGrowShrink(object sender, EventArgs e)
{
this.Size = new Size(1000, 500) - this.Size;
}https://stackoverflow.com/questions/29522537
复制相似问题