我的Windows窗体应用程序大小在不同的笔记本上发生了变化

4 c# screen-resolution winforms

编码我的项目进展顺利.但今天我发现了一个问题.

我的主笔记本有完整的高清(1920x1080)分辨率,我在这里编码我的项目.当我将主笔记本的分辨率更改为1280x1024,1280x800或1024x768时,没有问题.我的应用程序的分辨率是1024x768,并没有崩溃.这是版画屏幕.

普通屏幕

但我的其他笔记本有1366x768分辨率.我在这台笔记本上运行我的应用程序.哦! 令人失望的是.我的应用程序屏幕移动 这是糟糕的印刷品.

屏幕不好

我不懂为什么.我该怎么做才能纠正这个错误?

小智 7

它源于不同的DPI设置.您可以在表单加载中执行此操作:

// Get DPI width
float x = this.CreateGraphics().DpiX;

// If screen is width
if (x == 120)
    // Get big image from Resources
    this.BackgroundImage = Properties.Resources.BigImage;
else
    // Get small image from Resources
    this.BackgroundImage = Properties.Resources.SmallImage;
Run Code Online (Sandbox Code Playgroud)