禁用WinForm最小化和最大化?

WinForms的右上angular有三个框,用于最小化,最大化和closures表单。 我想要做的是去除最小化和最大化,同时保持closures。

我也是做什么使closures最小化的forms,而不是closures它。

如何才能做到这一点?

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

要停止窗体closures,处理FormClosing事件,并设置e.Cancel = true; 在那里和之后,设置WindowState = FormWindowState.Minimized; ,尽量减lessforms。

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

如果你想真的closures表单,可以创build一个布尔types的布尔值_close ,然后在你的处理函数中设置e.Cancel!_close ,这样当用户点击窗口上的X时,它就不会closures,但是你仍然可以closures它(而不只是杀死它) close = true; this.Close(); close = true; this.Close();

(只是为了使我的答案完整)将MaximizeBoxMinimizeBox窗体属性设置为False

MaximizeBoxMinimizeBox窗体属性设置为False

您可以简单地禁用最大化内部窗体构造函数。

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

在closures时最小化。

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

右键单击要隐藏的表单,然后select“控件” – >“属性”。

在“属性”中设置

  • 控制框 – >错误
  • 最小化框 – >错误
  • 最大化Box – > False

你会在devise师那里做到这一点。

如何使窗体最小化closures时已被回答,但如何删除最小化和最大化button不是。
FormBorderStyleFixedDialog
MinimizeBoxfalse
MaximizeBoxfalse