以编程方式最大化窗口并防止用户更改窗口状态

问题描述 投票:17回答:5

我如何以编程方式最大化窗口,以便一旦调整窗口就无法调整大小达到最大化状态(例如,最大化Internet Explorer,然后查看它)?

我将FormWindowState属性设置为

this.WindowState = FormWindowState.Maximized;
this.MaximizedBounds = (x,y);

但是它不起作用。我该怎么做?

我要最大化的窗口是我的应用程序中的窗口。

c# .net-2.0
5个回答
34
投票

最大化表单时,设置其最小大小=最大大小,因此用户无法调整其大小。

    this.WindowState = FormWindowState.Maximized;
    this.MinimumSize = this.Size;
    this.MaximumSize = this.Size;

7
投票

您的代码接近了……

WindowState = FormWindowState.Maximized;

然后,将表单的最小/最大大小容量设置为该大小后的值。

MinimumSize = this.Size;
MaximumSize = this.Size;

3
投票

要在最大化窗口后停止调整窗口大小,您需要将FormBorderStyleSizable更改为固定常数之一:

FixedSingle
Fixed3D
FixedDialog

MSDN Page备注部分:

表格的边框样式决定了表格的外边缘如何显示。除了更改表单的边框显示之外,某些边框样式还会阻止调整表单的大小。例如对于FormBorderStyle.FixedDialog边框样式将窗体的边框更改为对话框的边框,并防止调整窗体的大小。边框样式还会影响表单的标题栏部分的大小或可用性。

例如,如果您选择Fixed3D,它将改变表单的外观,并且如果您希望将表单还原为非最大化的大小并再次调整大小,可能必须做一些工作。


0
投票

在某些情况下,如果较旧的答案无效,请将WindowState属性更改为System.Windows.Forms.FormWindowState.Maximized。>

所以窗口将被最大化,其他部分在其他答案中。


-2
投票

要以编程方式最大化窗口状态,可以使用:

© www.soinside.com 2019 - 2024. All rights reserved.