如何在一个按钮中实现最大化和正常窗口状态

How to make a maximize and normal windowstate all in one button

I want a simple way to maximize and normal windowstate all in one button (click me for image)

方法(代码)c#编码-

    int maxornot;

    private void MaxButton_Click(object sender, EventArgs e)
    {

        this.WindowState = FormWindowState.Maximized;
        maxornot = 1;

        if (WindowState == FormWindowState.Minimized);
        {
            maxornot = 0;
        }

        if (maxornot == 0);
        {

        }

    }

如果这个方法没有意义,有简化代码的方法,请在下面留下代码。

p.s 我没有想太多如何让这个方法起作用因为我只是头疼 :P

根据您已经在代码示例中展示的内容,您想要一个按钮从 FormWindowState.Normal 切换到 FormWindowState.Maximized 以及其他方式。

现在不要将表单的 FormWindowState 设置为在单击开始时最大化 即使您应该首先检查 Window:

的当前状态
if(this.WindowState == FormWindowState.Maximized)
    ... do something

FormWindowState 有 3 种不同的状态:NormalMinimizedMaximized。在您的情况下,您不需要 Minimized。您现在要做的就是根据当前活动的内容在您的方法中在正常和最大化之间切换:

if(this.WindowState == FormWindowState.Maximized)
    this.WindowState = FormWindowState.Normal;
else
    this.WindowState = FormWindowState.Maximized;

这 4 行代码就是您在点击事件方法中所需要的全部。

这个简单的if-else也可以转换为三元:

this.WindowState = this.WindowState == FormWindowState.Maximized ? FormWindowState.Normal : FormWindowState.Maximized;