2011-11-06 27 views
1

我有一个奇怪的问题。我在c#和.net framework 3.5中设计了一个Windows窗体应用程序。在运行时,除了我的笔记本电脑,其中控件不在正确位置的所有计算机中的表单及其控件都很好。Windows窗体中的位移控件.net框架

如果我在我的笔记本电脑上正确定位从头开始设计表单,则会导致其他计算机的形状无效。

我的努力:

  • 如果我运行在安全模式中的Windows窗体大小和控制仓位 是正确的。
  • 我卸载了视频驱动程序并使用了默认的Windows版本,但问题仍然存在。
  • 我使用了2.0和4.0等不同的框架,以及不同的Visual Studios版本,它们都有相同的问题。
  • 其实所有公司的所有.net框架产品都表明相同的问题。

我的电脑设置: 笔记本1557工作室DELL 图形的ATI Radeon HD 4500

+0

可能的重复[我如何强制winforms应用程序使用我在每台机器上指定的字体/字体大小?](http://stackoverflow.com/questions/3041081/how-can-i-force-a- winforms-app-to-use-the-fonts-fontsizes -i-specified-on-mac-mac) –

回答

1

当文字大小被人为增加到125%时,文字和位置相当接近的控件将环绕表单并将所有内容向下/向上推送。如果这是您打算支持的内容,那么您只需重新设计您的表单即可处理您所关心的支持的不同放大级别,并在应用中测试这些放大的文本模式,直到您对其外观满意为止。这不是你可以严格控制的事情,因为增加的文字大小是一种辅助功能。

1

我想这是由于屏幕分辨率的差异。我相信在两种情况下控件的实际位置都是相同的,其中一个屏幕“更大”,因此您的控件出现在屏幕上的不同位置。

尝试Designing forms to work on different resolutions and aspect ratios on Windows CE

另一件事,你可以(也应该)做的是与WPF,这是构建用户界面的Windows新的工作方式。

+0

感谢您的回复。其实解决方案是相同的,我发现我的Windows 7中的文本大小更大(125%),当我将它更改为100%时,它现在工作正常。 – Barsham

1

我刚才发现了一种解决方法。 在Windows 7的显示设置中,我将文本大小从125%更改为100%。一切都较小,但在准确的位置和大小。 仍然想知道它是如何工作的!

+0

当然,您只能将其固定在电脑上。您认为客户的计算机上字体大小为125%会发生什么? – LarsTech

+0

如果你可以检查其他.netframework winform产品,他们仍然有这个问题。我认为在这种情况下,解决方案是使用表单的控制器来维持运行时对象或使用WPF的纵横比。 – Barsham