C# windows窗体.net framework中替换的控件

C# windows窗体.net framework中替换的控件,c#,.net,windows,winforms,ati,C#,.net,Windows,Winforms,Ati,我有一个奇怪的问题。我在c#和.NETFramework 3.5中设计了一个windows窗体应用程序。在运行时,表单及其控件在所有计算机中都可以正常运行,但我的笔记本电脑除外,因为笔记本电脑中的控件位置不正确 如果我在笔记本电脑上用正确的位置从头开始设计表单,它将导致其他计算机的形状无效 我的努力: 如果我在安全模式下运行窗口,窗体大小和控件位置 你说得对 我已卸载视频驱动程序并使用默认windows版本,但问题仍然存在 我使用了不同的框架,如2.0和4.0,以及不同的Visual Stud

我有一个奇怪的问题。我在c#和.NETFramework 3.5中设计了一个windows窗体应用程序。在运行时,表单及其控件在所有计算机中都可以正常运行,但我的笔记本电脑除外,因为笔记本电脑中的控件位置不正确

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

我的努力:

  • 如果我在安全模式下运行窗口,窗体大小和控件位置 你说得对
  • 我已卸载视频驱动程序并使用默认windows版本,但问题仍然存在
  • 我使用了不同的框架,如2.0和4.0,以及不同的Visual Studio版本,它们都有相同的问题
  • 实际上,所有公司的所有.net framework产品都表明了相同的问题
我的电脑设置: 戴尔1557工作室笔记本电脑
Graphic ATI Radeon HD 4500

我认为这是由于屏幕分辨率差异造成的。我相信在这两种情况下,控件的实际位置是相同的,其中一种情况是屏幕“更大”,因此您的控件在屏幕上显示在不同的位置

试一试


您可以(也应该)做的另一件事是使用WPF,这是为windows构建用户界面的新方法。

我刚刚找到了一个解决方法。 在Windows7的显示设置中,我将文本大小从125%更改为100%。所有东西都很小,但位置和尺寸都很精确。
还在想它是怎么工作的

当文本大小被人为地增加到125%时,文本和放置得很近的控件将环绕表单并向下/向下推送所有内容。如果这是您打算支持的内容,您只需重新设计表单,以处理您想要支持的不同放大级别,并在应用程序中测试这些放大文本模式,直到您对其外观感到满意为止。这不是您可以严格控制的,因为增加文本大小是一项辅助功能。

可能重复感谢您的回复。实际上分辨率是一样的,我发现我的Windows 7中的文本大小更大(125%),当我将其更改为100%时,它现在工作正常。当然,您只在计算机上修复了它。您认为在字体大小为125%的客户计算机上会发生什么情况?如果您可以检查其他.netframework winform产品,他们仍然存在此问题。我认为这种情况下的解决方案是使用窗体的控制器在运行时维护对象的纵横比,或者使用WPF。