いくつかのフォームを含むプロジェクトを設計しました。問題は、ワイドモニターで正しく表示されないことです。私はそれを検索し、dpi = 96で正しく動作することを発見しました。vb.netのレジストリを介して(手動ではなく)dpiを変更したいです。使用するコードは次のとおりです。
Dim dpi As Graphics = Me.CreateGraphics
If (dpi.DpiX <> 96 And dpi.DpiY <> 96) Then
Dim DPISetting As RegistryKey = My.Computer.Registry.CurrentUser.OpenSubKey("HKEY_CURRENT_USER\Control Panel\Desktop\WindowsMetrics", True)
DPISetting.SetValue("AppliedDPI", 96) '**
End If
しかし、**の行でnullRefrence例外が発生します。オブジェクト参照がオブジェクト インスタンスに設定されていません。私は本当に長い間それに取り組んできましたが、問題が何であるかを見つけることができませんでした。何か提案や解決策があれば、とてもありがたいです。