winforms 运行时Windows窗体控件的字体大小/位置不正确

0dxa2lsx  于 2023-02-24  发布在  Windows
关注(0)|答案(1)|浏览(184)

我为我的桌面应用程序使用普通的微软无衬线字体,大小为7. 8点。这是任何Windows应用程序控件的默认字体(Net Framework 4. 8)。
但不幸的是,结果很糟糕。请看这个屏幕-位置错误,清晰度缺失。出了什么问题?
Wrong font at runtime

6ioyuze2

6ioyuze21#

您的应用需要启用高dpi感知功能,若要将其打开,请按照以下步骤操作:
1.打开清单文件
(在解决方案资源管理器中右键单击项目文件,选择“添加,”然后选择“新建项”(或CTRL+SHIFT+A)。在那里可以找到应用程序清单文件。)文件名为app.manifest.How do I create/edit a Manifest file? 2.使用代码声明与Windows的兼容性将以下XML代码粘贴到清单文件中:

<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
 <application>
   <!-- Windows 10 compatibility -->
   <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
 </application>
</compatibility>

1.找到 app.config 文件
这应该很容易找到,但如果你很难尝试this page 4.打开每监视器DPI感知在 app.config 文件中,粘贴以下XML代码:

<configuration>
 <!-- ... other xml settings ... -->

 <System.Windows.Forms.ApplicationConfigurationSection>
   <add key="DpiAwareness" value="PerMonitorV2" />
 </System.Windows.Forms.ApplicationConfigurationSection>

</configuration>

1.启用视觉样式
最后,添加EnableVisualStyles方法,你需要在程序的〉开头调用它,下面是微软网站上的例子:

static void Main()
{
   Application.EnableVisualStyles();
   Application.SetCompatibleTextRenderingDefault(false);
   Application.Run(new Form2());
}

希望这有帮助!

相关问题