禁用最小化&最大化WinForm?

时间:2010-06-11 20:15:54

标签: c# winforms minimize maximize

WinForms在右上角有三个框,可以最小化,最大化和关闭表单。我希望能够做的是删除最小化和最大化,同时保持关闭。

我还要做什么使关闭最小化形式而不是关闭它。

如何做到这一点?

7 个答案:

答案 0 :(得分:147)

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

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

答案 1 :(得分:15)

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

如果您希望实际关闭表单,请创建一个类范围的布尔值_close,并在处理程序中将e.Cancel设置为!_close,以便每当用户单击X在窗口上,它没有关闭,但您仍然可以使用close = true; this.Close();

关闭它(而不是仅仅将其删除)

(只是为了完成我的回答)将MaximizeBoxMinimizeBox表单属性设置为False

答案 2 :(得分:12)

MaximizeBoxMinimizeBox表单属性设置为False

答案 3 :(得分:4)

右键单击要隐藏它们的表单,选择Controls - >属性。

在“属性”中,设置

  • 控制盒 - >假
  • 最小化框 - >假
  • 最大化盒子 - >假

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

答案 4 :(得分:2)

你可以简单地禁用内部表单构造函数中的最大化。

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

关闭时最小化。

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

答案 5 :(得分:1)

如何在关闭时使表单最小化,但是如何删除最小化和最大化按钮则不是。
FormBorderStyleFixedDialog
MinimizeBoxfalse
MaximizeBoxfalse

答案 6 :(得分:0)

public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}