我有一个奇怪的问题,我需要弄清楚如何解决,
我花了最近几个星期在我的笔记本电脑上工作的项目,但当我在其中一个工作电脑上打开程序时,很多控件都是错误的尺寸和重叠等,
机器之间的区别是:
笔记本:
Windows 7 Pro; 显示 - 1920 * 1040; Visiual Studio 2008; .net framework 3.5
工作桌面:
windows xp pro; 显示:1024 * 768; 视觉工作室2008; .net framework 3.5;
为了更好地描述问题,我有一个面板,我设置为300px宽,其中有一个标签,日期和日期采用mm-DD-yyyy格式,使用arial和size 8字体。< / p>
在笔记本电脑上它完全适合,但在桌面上面板看起来更小,标签只显示文字的一半。
这只是众多问题中的一个,另一个是颜色系统。控制似乎是系统之间完全不同的颜色(虽然我认为这是一个win7 vs xp问题)
我该怎么做才能解决这个问题? 它是Windows版本的问题吗? (我的笔记本电脑上的vmware机器上有xp,所以我可以在其中进行编码和设计)
是显示问题吗? - 对我来说这是一个很大的问题,因为我只有1台笔记本电脑,我认为这个问题可能导致我最近的Uni任务损失(我在笔记本电脑上编码,从未在桌面上打开,直到今天 - 所以不知道这个问题)
编辑:我找到了解决我的特定问题的解决方案,我发现我的笔记本电脑在视觉障碍的dpi设置上工作了125%(不知道怎么做......)所以我把它重置回100%或者96Dpi这解决了我的问题,在与其他几位开发人员聊天后,他们说他们倾向于设计96 dpi,同时在文本周围留一点空白是安全的。但是他们并不倾向于使用c#,主要使用QT框架在c ++中进行编码。答案 0 :(得分:12)
工作站中的视频适配器具有不同的每英寸点数设置。表单会自动重新调整以适应这种情况。
当您运送产品并且它将在客户端的机器上运行时,这也会发生。更改窗体的AutoScaleMode属性不是一个修复,只会在控件中生成剪切文本。确保表单设计对布局更改具有弹性。 Dock,Anchor,TableLayoutPanel,FlowLayoutPanel,用于棘手案例的Resize事件。并确保控件继承其容器的Font属性(在“属性”窗口中不是粗体)
答案 1 :(得分:2)
确保您可以在Visual Studio中调整面板的大小,并使其中的所有控件都重新定位并正确调整大小。您可以使用锚点来实现此目标,或者您应该使用TableLayoutPanel
控件而不是常规Panel
。
答案 2 :(得分:2)
更改AutoScaleMode的设置。