在WinForm上禁用最小化和最大化?

问题描述 投票:88回答:7

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

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

如何才能做到这一点?

c# winforms minimize maximize
7个回答
147
投票

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

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


15
投票

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

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

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


12
投票

MaximizeBoxMinimizeBox表格属性设置为False


4
投票

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

在“属性”中,设置

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

你会在设计师中做到这一点。


2
投票

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

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

关闭时最小化。

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

1
投票

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


0
投票
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}
© www.soinside.com 2019 - 2024. All rights reserved.