VS2019改变不了控件大小

踩坑小记,VS2019控件大小改变不了的原因竟然是因为····

问题描述

VS2019改变不了控件大小
  打开VS2019出现了上图的情况,起初并不在意,然后今天需要修改软件页面时发现Form1设计器里的控件大小不能正常缩放了,一脸懵逼,拉伸符号一闪即过,就是不能拉伸控件,所有控件都不能拉伸,只能拖动。

解决过程

  查阅网上资料,有说属性Locked改为False的,看了下我也没动那里,百思不得其解,干脆重启一次VS,然后看到上面的缩放比例提示引起了我的重视,网上查了查,VS的缩放比例是根据windows显示设置里的缩放比例来的,因为程序是从前一台电脑拷贝过来的,在前一台电脑并未遇见控件不能拉伸放大的情况,估摸着多半和现在用的这台电脑设置有关系了,应该就是缩放比例设置的原因。
VS2019改变不了控件大小
  Visual Studio 是一个每英寸点数 (DPI) 感知应用程序,因此其显示可以自动缩放。 如果某个应用程序声明自己是非 DPI 感知应用程序,则操作系统作将该应用程序作为位图缩放。 此行为也称为 DPI 虚拟化。 应用程序仍会认为它以 100% 缩放比例(即 96 dpi)运行。
  可以通过修改注册表将 Visual Studio 标记为非 DPI 感知。
  win+r输入regedit打开注册表编辑器并向 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
子项添加项 (我的打开没有Layers这一项,自己右键新建也是OK的):
项:根据所使用的是 Visual Studio 2017 还是 2019,请使用以下值之一:
  2017:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe
  2019:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe
  PS:如果你正在使用 Visual Studio Professional 或 Enterprise Edition,请将该项中的“Community”替换为“Professional”或“Enterprise” 。 还可根据需要替换驱动器号。
  类型:REG_SZ
  值:DPIUNAWARE

  值一定要输入正确!!!
VS2019改变不了控件大小

  在删除注册表项之前,Visual Studio 将保持非 DPI 感知模式。
  关闭VS后重新打开如下图所示:
VS2019改变不了控件大小
  至此,打开设计器看看,问题解决,控件可以正常拉伸大小。

参考

在 Visual Studio 中禁用 DPI 感知