WinForms在右上角有三个框,可以最小化,最大化和关闭表单。我希望能够做的是删除最小化和最大化,同时保持关闭。
我还要做什么使关闭最小化形式而不是关闭它。
如何做到这一点?
答案 0 :(得分:147)
Form
有两个名为MinimizeBox
和MaximizeBox
的属性,将它们都设置为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();
(只是为了完成我的回答)将MaximizeBox
和MinimizeBox
表单属性设置为False
。
答案 2 :(得分:12)
将MaximizeBox
和MinimizeBox
表单属性设置为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)
如何在关闭时使表单最小化,但是如何删除最小化和最大化按钮则不是。
FormBorderStyle
:FixedDialog
MinimizeBox
:false
MaximizeBox
:false
答案 6 :(得分:0)
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}