先日やった .NET Framework 4.7.2 + Windows Forms の PerMonitorV2 での動作確認ですが LTS 版の .NET Core 3.1 でも試してみました。
ちなみに元記事に追記していますが、ListBox の変な動きは .NET Framework 4.8 にしたらなおってました。めでたしめでたし。
やってみよう
.NET Core 3.1 では、.NET Framework と違って Main メソッドで Application.Run(new Form1());
より前に Application.SetHighDpiMode(HighDpiMode.PerMonitorV2);
を呼ぶことで PerMonitorV2 になるらしいです。
ということでフォームの AutoScaleMode を DPI にして ListBox と DataGridView を置いて試してみました。
ListBox の愉快な症状はおきなかったですが、DataGridView の CheckBox は 150% に持って行っても小さいままでした。
ここら辺は自前でどうにか頑張る(頑張り方は自分は知らない…)しかないのかなぁ?
ここまでのまとめ
.NET Framework 4.8 と .NET Core 3.1 では ListBox と DataGridView を見る限りは動きはそんなに変わってないように見えるので、あとは、DataGridView のようにそのまま使っただけではちゃんと動かないコントロールの対応方法などを確認しないといけないかも。