【问题标题】:Disabling Minimize & Maximize On WinForm?在 WinForm 上禁用最小化和最大化?
【发布时间】:2011-03-02 20:10:15
【问题描述】:

WinForms 在右上角有这三个框,用于最小化、最大化和关闭表单。我想要做的是删除最小化和最大化,同时保持关闭。

我还有什么使关闭最小化表单而不是关闭它。

如何做到这一点?

【问题讨论】:

    标签: c# winforms minimize maximize


    【解决方案1】:

    Form 有两个属性称为MinimizeBoxMaximizeBox,将它们都设置为false

    要停止表单关闭,请处理FormClosing 事件,并在其中设置e.Cancel = true;,然后设置WindowState = FormWindowState.Minimized;,以最小化表单。

    【讨论】:

    • 你能不能把控制框设置为false。
    • @krystanhonour OP 想要保持关闭状态。
    【解决方案2】:

    将处理程序绑定到FormClosing 事件,然后设置e.Cancel = true,并设置表单this.WindowState = FormWindowState.Minimized

    如果您想真正关闭表单,请创建一个类范围的布尔值_close,并在您的处理程序中,将e.Cancel 设置为!_close,这样每当用户点击窗口上的X ,它不会关闭,但您仍然可以使用 close = true; this.Close(); 关闭它(而不只是杀死它)

    (只是为了让我的答案完整)将MaximizeBoxMinimizeBox 表单属性设置为False

    【讨论】:

      【解决方案3】:

      MaximizeBoxMinimizeBox 表单属性设置为False

      【讨论】:

        【解决方案4】:

        右键单击要隐藏它们的窗体,选择控件 -> 属性。

        在属性中,设置

        • 控制箱 -> 错误
        • 最小化框 -> 错误
        • 最大化框 -> 错误

        您将在设计器中执行此操作。

        【讨论】:

          【解决方案5】:

          如何在关闭时使表单最小化已得到解答,但如何删除最小化和最大化按钮未得到解答。
          FormBorderStyle: FixedDialog
          MinimizeBox :false
          MaximizeBox:false

          【讨论】:

            【解决方案6】:

            您可以简单地在表单构造函数中禁用最大化。

             public Form1(){
                 InitializeComponent();
                 MaximizeBox = false;
             }
            

            关闭时最小化。

            private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
                e.Cancel = true;
                WindowState = FormWindowState.Minimized;
            }
            

            【讨论】:

              【解决方案7】:
              public Form1()
              {
              InitializeComponent();
              //this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
              this.MaximizeBox = false;
              this.MinimizeBox = false;
              }
              

              【讨论】:

              • add对你的回答做一些解释
              • 朋友,很简单,只需要看每一行代码
              • 在 SO 上是低质量的答案
              猜你喜欢
              • 2014-11-19
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多