目前,我正在创建一个表单,用户不应该被允许更改表单的宽度或高度,但是他们应该能够在他们想要的时候最大化表单。我试过以下几种方法:
Form myForm = new Form() {
MaximumSize = new Size(500, 500),
MinimumSize = new Size(500, 500),
WindowState = FormWindowState.Maximized
};
问题是,当表单显示时,它的大小是width=500
和height=500
,但我希望它能够最大化。
还有其他方法阻止用户调整高度和宽度吗?
发布于 2018-01-29 06:44:17
您希望窗体最大化,还是希望它达到500×500像素?你不能同时拥有这两者。
为了防止它们更改表单大小,可以将FormBorderStyle设置为固定选项之一。这将阻止他们调整大小。
来自MSDN [https://msdn.microsoft.com/en-us/library/system.windows.forms.form.formborderstyle(v=vs.110).aspx](https://msdn.microsoft.com/en-us/library/system.windows.forms.form.formborderstyle(v=vs.110%29.aspx][1])的:
窗体的边框样式决定窗体外部边缘的显示方式。除了更改窗体的边框显示外,某些边框样式还会阻止窗体的大小。例如,FormBorderStyle.FixedDialog边框样式将窗体的边框更改为对话框的边框,并防止窗体的大小调整。边框样式还可能影响窗体的标题栏部分的大小或可用性。
发布于 2018-01-18 13:27:45
这很容易解决。表单有一个名为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);
}
这应该做好的工作:)成功!
https://stackoverflow.com/questions/48324225
复制相似问题