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

时间:2010-08-17 09:40:32

标签: c# .net-2.0

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

我将FormWindowState属性设置为

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

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

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

6 个答案:

答案 0 :(得分:29)

当您的表单最大化时,请设置其最小尺寸=最大尺寸,以便用户无法调整其大小。

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

答案 1 :(得分:7)

在你的

代码之后你已经接近了
WindowState = FormWindowState.Maximized;

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

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

答案 2 :(得分:3)

要在窗口最大化后停止调整窗口,您需要将FormBorderStyleSizable更改为其中一个固定常量:

FixedSingle
Fixed3D
FixedDialog

来自MSDN Page备注部分:

  

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

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

答案 3 :(得分:0)

将属性WindowState更改为System.Windows.Forms.FormWindowState.Maximized,在某些情况下,如果较旧的答案不起作用。

因此窗口将最大化,其他部分将在其他答案中。

答案 4 :(得分:0)

执行此操作时,我得到一个很小的正方形屏幕,而不是最大屏幕。但是,当我仅使用FormWindowState.Maximized时,它确实为我提供了全屏显示。为什么会这样?

        public partial class Testscherm : Form
    {
            public Testscherm()

            {

                    this.WindowState = FormWindowState.Maximized;
                    this.MaximizeBox = false;
                    this.MinimizeBox = false;
                    this.MinimumSize = this.Size;
                    this.MaximumSize = this.Size;
                    this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
                    InitializeComponent();


            }

答案 5 :(得分:-2)

以编程方式最大化windowstate使用:

WindowState = FormWindowState.Maximized;
this.MaximizeBox = false;