visual studio 2015 windows窗体c#版本之间控件大小不一致

visual studio 2015 windows窗体c#版本之间控件大小不一致,c#,.net,winforms,visual-studio-2015,C#,.net,Winforms,Visual Studio 2015,我正在制作一个桌面应用程序,当我在pc上使用它时,它工作正常,如下所示: 但当我与另一位朋友分享该计划时,情况如下: 为什么会这样?我怎样才能修好它 我使用win10和.Net 4.6.2,我的朋友使用win 8或win 7和.Net 4.5或4.6.2,我将项目配置为与win 8和.Net 4.5兼容(visual studio 2015没有与win 7兼容的选项).我注意到不同的机器字体大小有些奇怪,这对布局产生了不利影响 首先要检查表单和所有用户控件,确保它们的AutoScaleMod

我正在制作一个桌面应用程序,当我在pc上使用它时,它工作正常,如下所示:

但当我与另一位朋友分享该计划时,情况如下:

为什么会这样?我怎样才能修好它


我使用win10和.Net 4.6.2,我的朋友使用win 8或win 7和.Net 4.5或4.6.2,我将项目配置为与win 8和.Net 4.5兼容(visual studio 2015没有与win 7兼容的选项).

我注意到不同的机器字体大小有些奇怪,这对布局产生了不利影响

首先要检查表单和所有用户控件,确保它们的AutoScaleMode设置为字体

如果仅此一点无法解决问题,请尝试在窗体或用户控件的构造函数中设置其字体大小,尤其是在不使用默认字体的情况下。我会继续寻找答案,但值得一试。之所以有帮助,是因为自动缩放发生在设置字体大小之前。如果查看designer.cs文件,您将看到字体大小是在任何缩放发生后设置的

  • 表单
    自动缩放模式
    设置为无
  • Form
    FormBorderStyle
    设置为
    FixedSingle
  • 作为附加检查,检查控件的
    Anchor
    属性是否设置为
    Left
    Top

  • HTH.

    看看:或者这一个:看看机器的字体缩放。如果一台机器设置为100%,另一台机器设置为125/150%,那么它看起来就不一样了。根据控件的布局,您可能会看到一些奇怪之处。您需要正确设置应用程序的窗体/控件自动缩放模式,以便它能够正确缩放。即使这样,你也会看到一些奇怪的事情。你考虑过WPF吗?我认为WPF比WinForm扩展得更好。为了解决缩放问题,您可能必须向下行驶到每个单独的控件。同样,这取决于控件的布局。除了@TomA关于AutoScaleMode的评论(我建议使用DPI或无),还应将应用程序配置为支持DPI。单击,项目菜单->添加新项目->常规->应用程序清单文件。在文件末尾附近,您将看到一个标记
    。取消对该标记的注释以将该应用程序声明为dpiAware。