【问题标题】:C# Custom Close, Minimize and Maximixe buttonsC# 自定义关闭、最小化和最大化按钮
【发布时间】:2013-04-17 23:31:21
【问题描述】:

我一直在尝试创建自己的程序,使用自定义关闭最大化和最小化按钮(如在 Visual Studio 或 Word 2013 等中...(我的边框样式设置为“无”))所以我一直在尝试做的是创建三个按钮。一个带有关闭选项,(工作正常)一个带有最小化选项,(也可以正常工作)和一个带有最大化按钮。单独的最大化按钮可以正常工作,但我希望它像标准的 Windows 按钮一样,这样当表单最大化时,它将恢复表单以前的状态(正常),我知道可以使用

this.WindowState = FormWindowState.Normal;

但如果你明白我的意思,它应该是一个按钮。我尝试过的是制作一个布尔值,当表单最大化时(使用“if”语句),它的值设置为 true,当表单未最大化时(else 函数)设置为 false。现在,当单击最大化按钮时,表单将最大化,因此布尔值将设置为 true,但是当我再次单击时,没有任何反应!关闭和最小化等其他功能都很好,我什至做了一个“恢复”按钮,效果很好!

感谢任何帮助,这是我的代码:

    bool restore;

    private void set_Restore()
    {
        {
            if (this.WindowState == FormWindowState.Maximized) //Here the "is" functions is
            {
                restore = true; //Sets the bool "restore" to true when the windows maximized
            }
            else
            {
                restore = false; //Sets the bool "restore" to false when the windows isn't maximized
            }
        }
    }

    private void MaximizeButton_Click(object sender, EventArgs e)
    {
        {
            if (restore == true)
            {
                this.WindowState = FormWindowState.Normal; //Restore the forms state
            }
            else
            {
                this.WindowState = FormWindowState.Maximized; //Maximizes the form
            }
        }
    }

嗯,我收到了三个警告,这是我认为错误的一个:

字段 'WindowsFormsApplication2.Form1.restore' 从未分配给,并且始终具有其默认值 false。

我认为它说布尔“恢复”从未使用过,并且始终具有默认值 FALSE,它不应该因为我的 set_Restore 在最大化时。

另外两个警告是:

变量“restore”已赋值,但从未使用过它的值 变量“restore”已赋值,但从未使用过它的值

提前谢谢你。

【问题讨论】:

    标签: c# c#-4.0 user-controls


    【解决方案1】:

    您正在set_Restore() 方法中创建一个本地恢复变量:

    bool restore = true;
    

    尝试将其更改为:

    restore = true;
    

    我什至不认为该变量是必需的。我认为你可以这样做:

    private void MaximizeButton_Click(object sender, EventArgs e) {
      if (this.WindowState == FormWindowState.Maximized) {
        this.WindowState = FormWindowState.Normal;
      } else {
        this.WindowState = FormWindowState.Maximized;
      }
    }
    

    【讨论】:

    • 谢谢,我自己也想弄明白,这就是你知道的,我找不到关于它的教程,所以我想我会自己做一个;) 谢谢!
    猜你喜欢
    • 2016-03-04
    • 1970-01-01
    • 2011-03-13
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    相关资源
    最近更新 更多