无法通过拖动边框调整窗体大小

21

表单自动调整大小: False. 表单自动大小模式: 增长和收缩.

问题: 我无法通过拖动表单边框来调整大小,我只能通过拖动表单右下侧的调整手柄来实现。

是否有其他表单属性可以更改以解决此问题?

这里还有一个控件层次结构的屏幕截图......也许在表单上设置低级别的控件会导致此问题?

输入图像描述


3
你是否设置了表单的最小/最大尺寸? - Dumbo
没有,我还没有在任何地方设置最小-最大限制 :( - Bohn
7个回答

39
因为这不在回答中,我会在这里写。问题似乎是由于表单的AutoSizeMode设置为GrowAndShrink而不是默认的GrowOnly导致的。将其重置为GrowOnly即可解决该问题。(在Windows 7上使用MSVS2013和.net 4.5已确认)

正确。我批准了。 - Bitterblue
2
@Cordell提到答案不合理,最后一句话应该是“重置为GrowOnly解决了这个问题。”由于我已经转移到Win8.1 MSVS2016,无法再现修复。 - dare0021
2
如上所建议,设置AutoSizeMode=GrowOnly后,我能够从任何一侧调整窗口大小:左、右、上、下。这个词真的很令人困惑。我不知道为什么它被称为GrowOnly,因为这个选项可以让窗口变小或变大。 - Shai
折腾了一个小时,终于解决了问题。我又可以重新调整窗体大小了。在此之前,我曾通过拖动ToolStripBar一次性地调整过它的大小,但之后就再也无法调整了。非常奇怪。总之,我的面板在设计时可以按预期进行调整,但在运行时保持初始大小。有什么建议吗? - Matthis Kohli
我编辑后说“重置为GrowOnly”。我遇到了同样的问题。 - Derek

19

请确保FormBorderStyle属性设置为Sizable,并且SizeGripStyle属性设置为Auto或Hide。


3
您的表单上是否有状态栏(StatusStrip)?将SizingGrip属性设置为True的状态栏可能会影响窗口以其他方式调整大小的能力。 - KeithS
2
所以现在,您有一个带有可调整大小边框但没有任何调整大小手柄显示的窗口,但它仍然不允许您在除右下角以外的任何位置调整窗口大小? - KeithS
11
我会尽力做到最好。以下是需要翻译的内容:我将设置AutoSizeMode属性为其默认值GrowOnly,并确保MaximumSize和MinimumSize设置为合理值。大小调整手柄可能已经使您绕过了这些大小限制。 - KeithS
1
是的,我玩了很多东西...GrowOnly 是其中之一...还将表格布局设置为 Dock 到顶部,移除了 Grip,..这些都一起起作用了...谢谢您。 - Bohn
人们不断提到与可调整大小无关的内容。SizeGripStyle与窗口大小的调整能力完全无关。您可以在所有对话框上隐藏它,仍然允许调整大小... - Josh
显示剩余5条评论

5

如果设置了最大尺寸,我会遇到同样的问题。请将其设置为0或更大。之后,您可以将边框移动到任何位置。如果最大尺寸太小而无法达到新的设置,则更改FormBorderStyleSizeGripStyle都无法帮助。


4
我尝试了上面提到的所有方法(以及Microsoft的论坛),但无法调整大小。最终我打开了另一个没有被弄乱的表单实例并进行了比较。这里是需要设置的内容。以上所有内容都有提到,但没有结合在一起。
在窗体的属性窗口中(或在代码中)。
AutoSize: False = 允许调整大小的两个维度(True = 仅调整宽度)。
AutoSizeMode: GrowOnly = 允许增长和缩小。
FormBorderStyle: Sizeable。

现在它的FormBorderStyle是Sizable。 - Arkham Angel

2
我有同样的问题,无法在手动模式下手动更改表单或控件的大小。尝试了以上所有方法,检查了项目中以前的表单,我可以调整它们的大小。
然后,关闭了VS 2010,重新打开了项目,现在我可以调整表单和控件的大小....
"你试过按电源开关吗... ;)"
最初的回答:用户在手动模式下无法更改表单或控件的大小,但是通过关闭并重新打开项目,该问题得到解决。

难以置信,我在VS2022中也遇到了同样的问题,而这个方法解决了它。 - Tahir Hassan

1
int height = 960;
int width = 1280;
this.ClientSize = new System.Drawing.Size(width, height);

这样你就可以获得固定的表单大小...否则Visual Studio会自动更改它。

0

我终于弄清楚了导致这个问题的原因。这个问题已经存在多年了!这里列出的所有方法都没有帮助,而且它们都已经按建议设置好了。

事实证明,如果任何控件都锚定在右边缘,那么我无法使窗口的宽度变小;如果任何控件都锚定在底部边缘,那么我也无法使窗口的高度变小。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接