Problem description:
I am currently developing a Visual Basic .NET application. It turns out that my application does not get displayed properly on systems that run on a different dpi-setting than "standard" (100% = 96dpi under windows xp).
When I change the system's dpi settings my GUI looks slightly messed up as you can see in the following screenshots (since this is a scaling issue it should not matter that the text on the screenshots is in German; sorry for this):
Windows XP, 100% scale, 96 dpi -> Everything looks like I expect it to.
Windows XP, 125% scale, 120 dpi -> The buttons at the bottom of the window do no longer fit inside the window.
What I want to achieve:
In case the display scale is set to anything else than 100% I would like to show the user a warning dialog box as soon as the application starts.
Question:
Is there any possibility to read the system's dpi value? If so, how would that be? There seems to be a DisplayProperties-class as well as DisplayInformation-class, but as far as I can see it is only available for Windows-Store-Apps.