Microsoft Accessをベースにした非常に古いアプリケーションがあります。 UIの部分はまだMicrosoft Accessで、他の部分はWinFormsを使用し、最新の部分はWPFを使用します(古い部分を段階的に取り除こうとしています)。レガシーアプリケーションとWindows 10のスケーリング
Windows 10と高DPIモニタで奇妙なスケーリングの問題を発見しましたが、今は古いUIの変更に関係しないこの問題の解決法を探しています。
この高いDPIモニタで作業するには、Windowsのスケーリングを200%に設定する必要があります。
ここに問題があります:アプリケーションが200%に設定された状態でユーザーがログインすると、文字列のスペースが大きすぎる文字列になります。Windowsのフォントサイズが大きくなったようですストリングを含むコントロールのディメンションではありません。 Windowsのスケーリングを変更しても問題は解決されませんが、スケーリングを変更してからアプリケーションを再起動しても問題は解決しません。
...ユーザーがスケーリングを100%に設定してログインしても、後でスケーリングを変更したり、アプリケーションを再起動しても、すべてが問題ありません。他の方法には、
しかし、私たちは、常にバックログオフし、ログイン時にそれを再び増加100%までのWindowsのスケーリングを設定するために、当社のユーザーに教えてくれませんすることはできません。
がないですこの問題を回避しますか?
ありがとうございました(ある場合)。
アプリを作成するdpiAwareは仕事です。遅れている仕事は、通常、アプリの年齢が上がるほどプログラマがスケーリングの問題に注意を払う可能性は低くなります。アプリにWPFを追加すると、それが悪化すると、アプリが実際にはそうでないときはdpiAwareに自動的に宣言されます。最も速い「修正」は、そうしないようにすることです。[assembly:System.Windows.Media.DisableDpiAwareness]をコードに追加してください。あなたはあまりにも多くの結果を好きではないかもしれません、あなたはそれをより良くするためにあなたの袖をロールアップする必要があります。 –
[appを4.7に設定し、私がここで提起した変更を行う](https://stackoverflow.com/a/43808350/1466046)、winformsの部分もDPIwareであるため、問題を修正する必要があります – magicandre1981