Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么在通过cpp项目打开时,显示的WinC窗体与DPI 150%不同_C#_C++ - Fatal编程技术网

C# 为什么在通过cpp项目打开时,显示的WinC窗体与DPI 150%不同

C# 为什么在通过cpp项目打开时,显示的WinC窗体与DPI 150%不同,c#,c++,C#,C++,在通过DPI为150%的cpp项目打开C应用程序时,我在windows窗体中遇到了一个问题 问题是控件的形式会被截断,并且控件大小不会按原样显示。例如,按钮大小为23像素,但显示为14像素 在4K监视器中通过C项目打开同一个C应用程序时,我没有遇到这个问题。控制尺寸也很合适 请任何人提出问题的内容和解决方法 谢谢, Rajesh。我猜您使用的是WinForms,它在HiDpi缩放方面存在一些问题。如果您在默认情况下仅作为自己的项目启动应用程序,它将标记为DPI Unknowledge。这意味着应

在通过DPI为150%的cpp项目打开C应用程序时,我在windows窗体中遇到了一个问题

问题是控件的形式会被截断,并且控件大小不会按原样显示。例如,按钮大小为23像素,但显示为14像素

在4K监视器中通过C项目打开同一个C应用程序时,我没有遇到这个问题。控制尺寸也很合适

请任何人提出问题的内容和解决方法

谢谢,
Rajesh。

我猜您使用的是WinForms,它在HiDpi缩放方面存在一些问题。如果您在默认情况下仅作为自己的项目启动应用程序,它将标记为DPI Unknowledge。这意味着应用程序可能看起来不是100%像素化,但布局是正常的

不幸的是,创建一个支持hi-dpi的WinForm应用程序并不是那么容易

但是,在较大项目的某些部分中使用组件时,如果DPI模式由系统的另一部分设置,则可能会导致布局问题

如果是.NET项目,则可以通过添加以下程序集属性来修复此问题:

[assembly: System.Windows.Media.DisableDpiAwareness]

我希望这有帮助。

如果DPI为100%,会发生什么?禁用应用程序扩展?i、 e.转到构建/调试或发布文件夹,确保从应用程序端关闭缩放功能。您可能必须使用这些选项,但这通常对我有效。当通过cpp项目打开C应用程序时-您能解释一下这意味着什么吗?如果DPI为100%,它工作正常。@i486I需要在DPI中修复150%的问题如果我们禁用应用程序缩放,DPI将100%正确,那么它将无法解决我的问题。@Rietty