表单的最大大小,启用最大化Windows表单状态C#

时间:2018-01-18 14:59:16

标签: c# forms resize

目前我正在创建一个表单,其中不允许用户更改表单的宽度或高度,但是他们应该能够在需要时最大化表单。 我尝试了以下内容:

LC_SYMTAB

问题是,当表单显示时,它的大小为Form myForm = new Form() { MaximumSize = new Size(500, 500), MinimumSize = new Size(500, 500), WindowState = FormWindowState.Maximized }; width=500,但我希望它最大化。

是否有其他方法可以阻止用户调整高度和宽度?

2 个答案:

答案 0 :(得分:1)

这很容易解决。表单有一个名为SizeChanged的函数。如果按下最大化按钮,它将不会触发,因此可以使用此功能以解决问题。您只需将SizeChanged中的窗口大小设置为500,500,您的问题就会得到解决。可能有更好的方法来解决它,但这个选项对我来说是最简单的。

private void Form1_Load(object sender, EventArgs e)
{
    this.Size = new Size(500, 500);
}

private void Form1_SizeChanged(object sender, EventArgs e)
{
    this.Size = new Size(500, 500);
}

这应该做的工作:)成功!

答案 1 :(得分:1)

您希望表单最大化,还是想要500x500像素?你不能同时拥有两者。

至于防止他们更改表单大小,您可以将 FormBorderStyle 设置为其中一个固定选项。这将阻止他们调整大小。

来自MSDN :[https://msdn.microsoft.com/en-us/library/system.windows.forms.form.formborderstyle(v=vs.110).aspx][1]

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