2013-07-27 46 views
1

我正在使用的程序在一台机器上呈现完美,而在另一台机器上完全错误。C#Winforms自定义窗体在不同的机器上看起来不一样

这里是照片;

enter image description here enter image description here

正如你可以在第二图片中看到,所有的控件都向左侧偏移。 表单的右侧部分为空。还有一半左边的小箭头迷路了。

两台机器都有高端的Nvidia显卡都有相同的DPI。

+0

您是否使用自定义控件?没有任何代码很难提供帮助... – aleroot

+0

是的。我将FormBorderStyle更改为none,并添加各种图片框给它一个自定义布局。我会发布一些代码,但它有点大,所以我甚至不知道要发布什么。我不明白的是为什么它在一台机器上完美工作,而不是在另一台机器上工作。 – user1778459

回答

1

有一对夫妇的可能原因是:

  1. 使用两个不同的操作系统。 8和XP呈现完全不同的相同控件。
  2. 您正在使用不同的视觉样式(一个是Aero,另一个是Classic)。
  3. 您没有固定您的控件。锚定允许窗体上的控件根据窗口的大小动态布局。
+0

感谢您的回答。两台机器都安装了Windows 7,两者都具有相同的视觉样式(Aero)。我刚刚检查了锚定,并且我的表单中的所有控件似乎都正确锚定。只是出于好奇,如果你在不同的操作系统上使用该程序并得到不同的结果,你会怎么做? – user1778459

+0

对不起,延迟回复;我直到今天才看到您的评论。你遇到的问题主要是由于WinForms。我已将大部分项目迁移到WPF,因为它消除了WinForms所具有的大量布局问题。但是,无论您使用的是什么框架,都可能需要为不同的操作系统硬编码值。我知道这是一个丑陋的黑客,但在某些情况下,它是唯一的选择。 –

相关问题