【发布时间】:2011-03-02 20:10:15
【问题描述】:
WinForms 在右上角有这三个框,用于最小化、最大化和关闭表单。我想要做的是删除最小化和最大化,同时保持关闭。
我还有什么使关闭最小化表单而不是关闭它。
如何做到这一点?
【问题讨论】:
标签: c# winforms minimize maximize
WinForms 在右上角有这三个框,用于最小化、最大化和关闭表单。我想要做的是删除最小化和最大化,同时保持关闭。
我还有什么使关闭最小化表单而不是关闭它。
如何做到这一点?
【问题讨论】:
标签: c# winforms minimize maximize
Form 有两个属性称为MinimizeBox 和MaximizeBox,将它们都设置为false。
要停止表单关闭,请处理FormClosing 事件,并在其中设置e.Cancel = true;,然后设置WindowState = FormWindowState.Minimized;,以最小化表单。
【讨论】:
将处理程序绑定到FormClosing 事件,然后设置e.Cancel = true,并设置表单this.WindowState = FormWindowState.Minimized。
如果您想真正关闭表单,请创建一个类范围的布尔值_close,并在您的处理程序中,将e.Cancel 设置为!_close,这样每当用户点击窗口上的X ,它不会关闭,但您仍然可以使用 close = true; this.Close(); 关闭它(而不只是杀死它)
(只是为了让我的答案完整)将MaximizeBox 和MinimizeBox 表单属性设置为False。
【讨论】:
将MaximizeBox 和MinimizeBox 表单属性设置为False
【讨论】:
右键单击要隐藏它们的窗体,选择控件 -> 属性。
在属性中,设置
您将在设计器中执行此操作。
【讨论】:
如何在关闭时使表单最小化已得到解答,但如何删除最小化和最大化按钮未得到解答。FormBorderStyle: FixedDialogMinimizeBox :falseMaximizeBox:false
【讨论】:
您可以简单地在表单构造函数中禁用最大化。
public Form1(){
InitializeComponent();
MaximizeBox = false;
}
关闭时最小化。
private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
e.Cancel = true;
WindowState = FormWindowState.Minimized;
}
【讨论】:
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}
【讨论】: