我的GUI在我运行它的一台计算机上呈现不同

本文关键字:计算机 一台 GUI 运行 我的 | 更新日期: 2023-09-27 18:08:09

我有一个。net应用程序,最初是在Visual Studio Professional 2005中创建的,使用。net 2.0框架。

最近,我在Visual c# Express 2010中打开了这个项目,做了一些小的改变,并使用。net framework 4.0构建了它。

除了一个很烦人的部分,一切都像符咒一样有效。当我在一台1920x1200屏幕的HP EliteBook 8740w上运行这个应用程序时,一组GUI控件被打乱了,这样它们就会彼此叠加在一起。在我的Windows 7 64位工作站上运行时,此错误不会出现,外部显示器为1900x1080分辨率。在分辨率为1024x768的Windows XP笔记本电脑上运行时也不会显示。

我试图连接一个1600x1200外部显示器到EliteBook,但错误也出现在那里。

被搞砸的控件是一组组合框、数字上下起伏和标签,它们被放置在表格布局容器中,而这些容器又被放置在选项卡页控件的选项卡页上。

我尝试从头开始创建一个新的选项卡页控件和表布局容器,然后将组合框等移动到新的表布局容器中,但错误普遍存在。

在这件事上我真的很感激你的帮助,因为我不知道还能尝试什么。我开始怀疑EliteBook上的图形有问题,但是,话又说回来,其他一切都在屏幕上表现得很好。

谢谢,弗雷德里克·Israelsson

—Edit—

谢谢你的快速回答。在我有机会看他们之前,我想我自己解决了这个问题。偶然发现了一个关于为什么Visual Studio自动更改控件大小的帖子,尽管你已经将锚和码头属性设置为None。其中一个答案提到了AutoScaleMode属性。我在我的主应用程序窗口上将AutoScaleMode从Font更改为None,并且GUI在我所有的计算机上都很好地呈现。

再次感谢!

/弗雷德里克·Israelsson

我的GUI在我运行它的一台计算机上呈现不同

我怀疑这是因为两台机器的DPI设置不同。这一直是Windows窗体的一大难题。

这里有一些链接可能会有帮助。

http://msdn.microsoft.com/en-us/library/ms229605.aspx

http://www.sellsbrothers.com/writing/winformsAutoScaling.htm

这可能与硬件加速有关。您的应用程序是WinForms还是WPF ?当我在Win7 64位上使用VS2010时,我遇到了非常奇怪的行为,因为它在我构建应用程序时试图使用硬件加速。

通过改变视觉体验来提高性能你可能在VS2010中遇到硬件加速的问题。因此,我在渲染使用WPF构建的应用程序时遇到了一个问题。

试试吧:http://blogs.msdn.com/b/zainnab/archive/2010/06/22/improving-performance-by-changing-the-visual-experience-vstipenv0017.aspx

如果这不能解决你的问题,去你的显卡设置(nvidia或amd catalyst),并在电脑上做一个"重置设置",应用程序不能正确地绘制自己。然后再试一次。