首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用一个按钮来ShrinK & Grow

使用一个按钮来ShrinK & Grow
EN

Stack Overflow用户
提问于 2015-04-08 18:27:09
回答 2查看 686关注 0票数 0

在windows窗体上,我希望添加一个按钮,该按钮将允许窗体增长和/或收缩。这可以用一个按钮来完成吗?还是我需要添加两个单独的按钮?这是我用来在按下按钮时成长的代码。如果再次按下按钮,如何将其缩小?

代码语言:javascript
复制
private void buttonGrowShrink(object sender, EventArgs e)
{
  this.Size = new Size(320, 490);
}

如果再次按下按钮,我如何使用相同的按钮缩小到更小的大小?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-08 18:36:03

以下是两种解决办法。在这两种情况下,我还更改了按钮的文本,以便用户知道如果按下按钮会发生什么,但这将是可选的。

一种方法是使用布尔值来跟踪表单的当前大小:

代码语言:javascript
复制
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;
}

另一种方法是将表单的当前大小与“大”和“小”大小进行比较,并相应地更改大小:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2015-04-08 18:50:57

这是一种在两种尺寸之间切换的简单方法。例如,让我们使用(400,300)和(600,200)。只要将这些值相加,就可以得到一个恒定的大小。然后,每次单击按钮时,从该常量中减去当前大小。就像这样:

代码语言:javascript
复制
private void buttonGrowShrink(object sender, EventArgs e)
{
    this.Size = new Size(1000, 500) - this.Size;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29522537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档