Я разработал проект, содержащий несколько форм. Проблема в том, что на широких мониторах он отображается некорректно. Я искал его и обнаружил, что он работает правильно для dpi = 96. Я хочу изменить dpi через реестр в vb.net (не вручную). Вот код, который я использую:
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 Exception в строке с **. В экземпляре объекта не задана ссылка на объект. Я действительно работал над этим в течение длительного времени, но не мог найти, в чем проблема. Я был бы так благодарен, если у вас есть какие-либо предложения или решения для этого.