C# Winform:项目引入SunnyUI后,显示模糊

在使用WinForms并引入SunnyUI等第三方UI库后,如果运行出来的窗口出现模糊问题,大概率是由于DPI设置有问题,解决方法如下:

  1. 在Visual Studio中,右击项目名称,选择"添加"->"新项"。

  2. 在"添加新项"对话框中 ,选择"应用程序清单文件",命名为app.manifest,然后点击"添加"。

  3. 在打开的app.manifest文件中,将原有的内容替换为以下代码,包括高DPI设置的部分:

XML 复制代码
<?xml version="1.0" encoding="utf-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <application xmlns="urn:schemas-microsoft-com:asm.v1">
    <windowsSettings>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
      <!-- 可以选择添加以下行以启用Per-Monitor DPI Awareness -->
      <!-- <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">perMonitorV2</dpiAwareness> -->
    </windowsSettings>
  </application>
</assembly>

注意事项

  • 保存文件 :确保保存对app.manifest文件所做的更改。

  • 重新编译:更改manifest文件后,需要重新编译项目以使更改生效。

相关推荐
liulilittle1 小时前
C++/CLI与标准C++的语法差异(一)
开发语言·c++·.net·cli·clr·托管·原生
★YUI★1 小时前
学习游戏制作记录(剑投掷技能)7.26
学习·游戏·unity·c#
daixin88481 小时前
什么是缓存雪崩?缓存击穿?缓存穿透?分别如何解决?什么是缓存预热?
java·开发语言·redis·缓存
你我约定有三1 小时前
RabbitMQ--消息丢失问题及解决
java·开发语言·分布式·后端·rabbitmq·ruby
小乖兽技术1 小时前
C#与C++交互开发系列(二十四):WinForms 应用中嵌入C++ 原生窗体
c++·c#·交互
张北北.2 小时前
【深入底层】C++开发简历4+4技能描述6
java·开发语言·c++
李永奉2 小时前
STM32-定时器的基本定时/计数功能实现配置教程(寄存器版)
c语言·开发语言·stm32·单片机·嵌入式硬件
go54631584652 小时前
中文语音识别与偏误检测系统开发
开发语言·人工智能·学习·生成对抗网络·数学建模·语音识别
NUC_Dodamce2 小时前
Cocos3x 解决同时勾选 适配屏幕宽度和 适配屏幕高度导致Widget组件失效的问题
开发语言·javascript·ecmascript
一杯科技拿铁2 小时前
Go 的时间包:理解单调时间与挂钟时间
开发语言·后端·golang