Visual studio 2017 防止窗体重新缩放自身-DPI感知

Visual studio 2017 防止窗体重新缩放自身-DPI感知,visual-studio-2017,Visual Studio 2017,在Visual Studio 2017中,添加了“DPI感知”功能。通过此命令填充数据表时: Dim dt As DataTable = New DataTable da.Fill(dt) <---- This is the line where the rescaling occurs Dim dt As DataTable=新的DataTable da.Fill(dt)以下是如何解决此行为: 在Visual Studio中,右键单击项目>添加新项目.. 从选项中选择A

在Visual Studio 2017中,添加了“DPI感知”功能。通过此命令填充数据表时:

    Dim dt As DataTable = New DataTable
    da.Fill(dt) <---- This is the line where the rescaling occurs
Dim dt As DataTable=新的DataTable

da.Fill(dt)以下是如何解决此行为:

  • 在Visual Studio中,右键单击项目>
    添加
    新项目..
  • 从选项中选择
    Application.Manifest文件
    。保留应用程序清单的默认名称。单击添加
  • 。这将为您的项目生成清单。(注意:默认情况下,应用程序不包含清单文件
  • 打开新创建的清单文件。所有内容都应已填充。取消对此部分的注释(通过删除
    之后的内容):
  • 
    假的
    

  • 保存清单文件并编译。表单将不再重新缩放
  • 完成清单文件:

    <?xml version="1.0" encoding="utf-8"?>
    <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
     <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <!-- UAC Manifest Options
             If you want to change the Windows User Account Control level replace the 
             requestedExecutionLevel node with one of the following.
    
        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />
    
            Specifying requestedExecutionLevel element will disable file and registry virtualization. 
            Remove this element if your application requires this virtualization for backwards
            compatibility.
        -->
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
    </trustInfo>
    
    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!-- A list of the Windows versions that this application has been tested on
           and is designed to work with. Uncomment the appropriate elements
           and Windows will automatically select the most compatible environment. -->
    
      <!-- Windows Vista -->
      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
    
      <!-- Windows 7 -->
      <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
    
      <!-- Windows 8 -->
      <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
    
      <!-- Windows 8.1 -->
      <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
    
      <!-- Windows 10 -->
      <!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
    
    </application>
    </compatibility>
    
    <!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
       DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need 
       to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should 
       also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
    
    <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware>
    </windowsSettings>
    </application>
    
    
    <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
    <!--
    <dependency>
    <dependentAssembly>
      <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          processorArchitecture="*"
          publicKeyToken="6595b64144ccf1df"
          language="*"
        />
    </dependentAssembly>
    </dependency>
    -->
    
    </assembly>
    
    
    假的