WinForm DPI问题

时间:2016-01-15 08:28:24

标签: c# winforms dpi

出现了这个问题:

WinForm looks different than in VS designer

我以为我用这个解决了这个问题:

https://stackoverflow.com/a/13228495/1806838

我使用了app.manifest

<dpiAware>true</dpiAware>

之后一切似乎都没问题。如果我调试或者从我构建它的文件夹运行应用程序,它看起来很完美。 (app\app\bin\Release\app.exe)。但是,如果我将可执行文件复制到该文件夹​​之外(例如,我的桌面,然后运行它,那么它看起来像这样(显然是正确的): enter image description here

就像app.manifest没有嵌入,但我检查了设置,似乎没问题。此外,我确保在应用程序属性中选择了正确的清单文件。

有什么想法吗?

编辑:因此,似乎app.exe.manifest位于同一个文件夹中,然后它看起来不错,否则就不是。

EDIT2:我发现我有2个app.mainfest个文件。一个是app\app\app.manifest,另一个是app\app\Properties\app.manifest。所以我删除了两个并添加了一个新的DPI设置。我仍然有同样的问题。检查app.manifest属性,Build Action设置为None。我要改变它吗?

EDIT3 :我向app.manifest添加了Resources并设置了应用 - &gt;属性 - &gt;显示为Resources\app.manifest。还是一样。

1 个答案:

答案 0 :(得分:1)

因此,在尝试编译app.manifest 3天后,我添加了另一个设置以查看是否将应用它。这是以管理员身份运行的:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

当我尝试构建时,我收到一条错误消息,指出它与ClickOnce不兼容。当我意识到自己是个白痴时,这就是我的观点。通过ClickOnce - &gt;停用appProperties - &gt; Security - &gt;取消选中Enable ClickOnce security settings一切正常。似乎如果它被启用,那么它会忽略清单。

对于那些试图帮助浪费的人来说,我真的很抱歉。