在通过DPI 150%的cpp项目打开C#应用程序时,我遇到了Windows窗体问题。
问题是控件以截断的形式出现,并且控件的大小没有按原样显示。例如,按钮大小为23像素,但显示为14像素。
通过4K监视器中的C#项目打开相同的C#应用程序时,我没有遇到此问题。控件的大小也正变得合适。
任何人都可以提出问题的根源和解决方法的建议。
谢谢, 拉杰什。
答案 0 :(得分:-1)
我猜想您正在使用WinForms,它在HiDpi缩放方面存在一些问题。如果默认情况下仅将应用程序作为自己的项目启动,则将其标记为 DPI不识别。这意味着应用程序看起来可能不是100%像素化,但布局还可以。
要创建启用了dpi的WinForm应用程序,不幸的是并非如此简单。
但是,在较大的项目的某些部分(系统的另一部分设置了DPI模式)中使用组件时,这可能会导致问题。
如果它是.NET项目,则可以通过添加以下程序集属性来解决此问题:
[assembly: System.Windows.Media.DisableDpiAwareness]
我希望这会有所帮助。