0

Windows の設定でスケール 100% でプログラムを実行すると、プログラムに問題が発生します。アプリケーションは設計どおりに見えます。ただし、スケールがたとえば 125% に設定されている場合。グラフィックに問題があり、フォントが大きくなりました。

異なる AutoscaleMode 値 (None、Font、および DPI) で異なるバイナリをビルドします。次に、スケール 100% と 120% でそれらを起動します (スケールを適用するためにログオフするたびに)。

ここに画像の説明を入力

さまざまなケースのスクリーンショットを次に示します (テキストボックスに、使用するスケールを書きました)。 ここに画像の説明を入力

コンポーネントには MetroFramework を使用しています。ソースコードはこちらから
入手できます(最後のコミット)。 異なるスケール ウィンドウ設定で同じように見えるようにアプリケーションを修正するにはどうすればよいですか?

4

1 に答える 1

1

私は SetProcessDPIAware を使用し、問題を修正しました。現在、アプリケーションはさまざまなスケール モードで動作し、変更されるコンボボックスのサイズに関する問題のみがあります。コンボボックスのgit hereですでに開かれているチケットを見つけました。

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        SetProcessDPIAware();
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }

    [System.Runtime.InteropServices.DllImport("user32.dll")]
    private static extern bool SetProcessDPIAware();
}
于 2020-05-15T00:35:36.037 に答える