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

rryofs0p  于 2023-01-21  发布在  其他
关注(0)|答案(9)|浏览(339)

WinForms在右上角有三个框,分别是最小化、最大化和关闭窗体。我希望能够做的是删除最小化和最大化,同时保留关闭。
我也知道如何使关闭最小化窗体而不是关闭它.
如何才能做到这一点?

jexiocij

jexiocij1#

Form有两个属性,分别称为MinimizeBoxMaximizeBox,请将这两个属性都设置为false
要停止窗体关闭,请处理FormClosing事件,并在其中设置e.Cancel = true;,然后设置WindowState = FormWindowState.Minimized;,以最小化窗体。

kiz8lqtg

kiz8lqtg2#

MaximizeBoxMinimizeBox表单属性设置为False

deikduxw

deikduxw3#

将处理程序绑定到FormClosing事件,然后设置e.Cancel = true,并设置this.WindowState = FormWindowState.Minimized
如果您希望实际关闭窗体,请创建一个类范围的布尔值_close,并在处理程序中将e.Cancel设置为!_close,这样,无论用户何时单击窗口上的X,它都不会关闭,但您仍然可以使用close = true; this.Close();关闭它(而不是直接杀死它
(And为了使我的回答完整)将MaximizeBoxMinimizeBox表单属性设置为False

hec6srdp

hec6srdp4#

右键单击要隐藏它们的窗体,选择控件-〉属性。
在属性中,设置

  • 控制框-〉假
  • 最小化方框-〉False
  • 最大化方框-〉False

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

s6fujrry

s6fujrry5#

如何使窗体在关闭时最小化已经回答了,但如何删除最小化和最大化按钮还没有回答。
第一个月第一次:第一个月第一次
MinimizeBoxfalse
MaximizeBoxfalse

qxgroojn

qxgroojn6#

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

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

以在关闭时最小化。

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

lqfhib0f7#

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

puruo6ea8#

在表单编辑器中选择主表单右键单击-〉属性
一直向下滚动,如果你不想的话,找到MinimiseBox转到False而不是MaximiseBox

在我的例子中,我刚刚禁用了MaximiseBoxFalse

wko9yo5t

wko9yo5t9#

如果你不想要边框和最大化(包括禁用双击窗体最大化)也不想最小化,这对我很有效:

public Form1()
{
    InitializeComponent();
    this.MaximizeBox = false;
    this.ControlBox = false;
    this.FormBorderStyle = FormBorderStyle.FixedSingle;
    this.Text = string.Empty;
}

相关问题