C# WinForms Usercontrol在生成时自行调整大小

C# WinForms Usercontrol在生成时自行调整大小,c#,vb.net,winforms,visual-studio-2013,C#,Vb.net,Winforms,Visual Studio 2013,我有一个非常奇怪的问题,我希望有人知道如何解决这个问题,因为它不仅仅是烦人 我可以在设计器中任意调整所有用户控件的大小。但是,一旦构建过程开始,所有未分配dock=fill的用户控件都将被重新调整大小,使我可以执行任何操作,大小由minimumSize属性指定 这个问题是从哪里来的,因为在其他项目中我没有这个问题?我之前也遇到过同样的问题,我使用的方法是,在初始化组件区域中,在决定哪个大小是最好的之后,提前声明组件的大小 大概是这样的: InitializeComponent() { compo

我有一个非常奇怪的问题,我希望有人知道如何解决这个问题,因为它不仅仅是烦人

我可以在设计器中任意调整所有用户控件的大小。但是,一旦构建过程开始,所有未分配
dock=fill
的用户控件都将被重新调整大小,使我可以执行任何操作,大小由
minimumSize
属性指定


这个问题是从哪里来的,因为在其他项目中我没有这个问题?

我之前也遇到过同样的问题,我使用的方法是,在初始化组件区域中,在决定哪个大小是最好的之后,提前声明组件的大小

大概是这样的:

InitializeComponent()
{
component1.size = new System.Drawing.Size(x,y);
}
希望这对你有所帮助……:)

该问题通常来自更改DPI设置(表单设计的DPI与当前运行的DPI不同),通常在行为不正常的控件(以及表单)上将
AutoScaleMode
设置为
None
将防止发生这种情况(当然,这也会防止自动适应不同的DPI设置)


winforms designer需要在这里和那里进行一些调整,但如果我是你,我不会期望任何人在不久的将来(或在遥远的将来,或根本不会)修复它。

嗯,还没有,我在Visual Studio 2015中遇到了另一个特殊问题,表单本身会收缩。。。就像调试时一样。。。我相信这与DPI设置有关。。。有时,制造商可能会将DPI级别设置为可能使大多数程序在高分辨率显示器上看起来正常的程度。。。VS可能存在DPI设置问题。。。这正是我能推断的。。。试着修补一下。。。看看是否有帮助。。但我降级到了VS 2013。。。现在没事了

你知道为什么会发生这种情况吗?我在哪里设置DPI?因为有问题的控件是我做的,所以我可能可以修复this@lsteinmeDPI在Windows中,而不是在控件中。如果您在Windows中以96 dpi的速度设计表单,并以120 dpi的速度修改表单,而不是以
None
的速度使用
AutoScaleMode
,则在序列化表单时(保存或构建表单时)会发生奇怪的事情。基本上,设计师希望您在处理itso时的分辨率为96 dpi。如果我理解正确,问题可能是我使用两个不同分辨率的显示器来设计…@lsteinme。winforms designer在同一DPI上的所有监视器(当这些DPI不是96时)都存在问题。。。更不用说不同显示器上的不同DPI了。您可以做的不多:如果您想要支持DPI的应用程序,您必须以96dpi设计它们。。。如果您可以在没有dpi感知的情况下通过,请将
AutoScaleMode
设置为
None
。有些人在96dpi之外的其他地方成功设计了:个人?我从来没有成功过(我只是在dpi感知应用程序中使用WPF)