.Net控制在计算机之间改变大小

我有一个奇怪的问题,我需要弄清楚如何解决,

我花了最近几个星期在我的笔记本电脑上工作的项目,但是当我在其中一个工作电脑上打开程序时,很多控件都是错误的尺寸和重叠等等,

机器之间的差异是这样的:

笔记本电脑:

Windows 7 Pro; 显示 – 1920 * 1040; Visiual Studio 2008; .net框架3.5

工作桌面:

windows xp pro; 显示:1024 * 768; 视觉工作室2008; .net框架3.5;

更好地描述问题,我有一个面板,我设置为300px宽,其中有一个标签内部的日期和日期采用mm-DD-yyyy格式,使用arial和size 8字体。

在笔记本电脑上它完全适合,但在桌面上面板看起来更小,标签只显示文本的一半。

这只是众多问题中的一个,另一个是颜色系统。控制似乎是系统之间完全不同的颜色(虽然我认为这是一个win7 vs xp问题)

我该怎么做才能解决这个问题? 它是Windows版本的问题吗? (我的笔记本电脑上的vmware机器上有xp,所以我可以在其中进行编码和设计)

这是显示问题吗? – 对我来说这是一个很大的问题,因为我只有一台笔记本电脑,我认为这个问题可能导致我最近的Uni任务损失(我在笔记本电脑上编码,从未在桌面上打开,直到今天 – 所以不知道这个问题)

编辑:我找到了解决我的特殊问题的解决方案,我发现我的笔记本电脑在视觉障碍的dpi设置上工作了125%(不知道怎么样……)所以我把它重置回100%或96Dpi已经解决了我的问题,在与我认识的其他几位开发人员聊天之后,他们说他们倾向于设计96 dpi,同时在文本周围留下一点空白是安全的。 但是他们并不倾向于使用c#,主要是使用QT框架在c ++中编写代码。

工作站中的video适配器具有不同的每英寸点数设置。 表单会自动重新调整以适应这种情况。

当您运送产品并且它将在客户端的机器上运行时,这也会发生。 更改窗体的AutoScaleMode属性不是修复,只会在控件中生成剪切文本。 确保表单设计对布局更改具有弹性。 Dock,Anchor,TableLayoutPanel,FlowLayoutPanel,用于棘手案例的Resize事件。 并确保控件inheritance其容器的Font属性(在“属性”窗口中不是粗体)

确保您可以在Visual Studio中调整面板大小,并使其中的所有控件重新定位并正确resize。 您可以使用锚点来实现此目的,或者您可能应该使用TableLayoutPanel控件而不是常规Panel

更改AutoScaleMode的设置。