2016-02-26 41 views
5

我的应用程序有一个奇怪的问题。Windows窗体奇怪的控制大小在不同的计算机上

它是如何工作正常

我展示罚款我已经安装了应用程序,除了每一个作品的PC形式(我将在后面说明问题)。

这是最小可能的尺寸。

enter image description here

如果我调整了它可以正常工作,你可以在这个其他图像看到。

enter image description here

它工作得很好,它完全符合。

我所做的

所有形式的控件已正确固定,并分布在子控件,面板和一切需要适当调整。 将所有视图中的AutoScaleMode设置为字体。

这对我尝试过的每个Windows 7,Windows 8和Windows 10都有效(我现在在Windows 10上)。

我在自己的计算机上修改了DPI,它仍然正确调整大小。

我改变了屏幕分辨率,并且正确调整了大小(虽然我目前在1920x1080下工作)。

我已经更改了系统字体大小,并且效果很好。

那么,问题在哪里?

这里有个奇怪的问题。有一台电脑(Windows 7,1920x1080,100%DPI),应用程序没有正确调整大小。中央控件(datagridview和预览/比较框)以非常小的尺寸显示。然后,如果我调整表单的大小,那么按照底部和右侧的锚点调整这些控件的大小,就像预期的那样。这是一张照片,显示了这一点。

enter image description here

谁能给我这是为什么努力这样只是在一台计算机的解释? (正如我所说,我已经尝试了其他W7电脑,并且效果很好)。

问候。

+0

这看起来像软件环境问题。尝试重新安装框架,做Windows更新等。您定位哪个框架版本?尝试在您的应用程序需要的那台PC上安装完全框架 – Sinatr

+0

我正在.NET框架4上开发它。为什么其他框架可能导致这个问题?我的意思是,在我定义为依赖.NET Framework 4的安装程序中,我从来没有遇到任何问题。 – Alex

+0

在这台PC上是否有一些额外的窗口管理器软件?我的意思是这样的:http://softwarerecs.stackexchange.com/questions/1816/program-to-save-visible-windows-locations-and-later-restore-the-layout http://www.techsupportalert.com /content/best-free-window-manager-resizer-arranger.htm这可能是问题的根源。 –

回答

0

锚定可能会导致WinForms中有时会出现意外。一个可能的解决方案是始终使用Dock属性并停靠/堆叠元素,与WPF类似。您可以通过隐藏面板和Dock,PaddingMargin属性来实现所有功能。

看到一个例子:https://stackoverflow.com/a/32142897/5114784

+0

正如我所说的,问题是,这些控件加载尺寸小于预期。锚和/或码头属性工作得很好,并在表单中设置好。 – Alex

+0

网格似乎被锚定,因为它调整窗体大小时会延伸。相反,你应该停靠它以避免这样的问题。 – taffer