如何在宽屏显示器上保持我的应用程序正确的宽高比?

时间:2014-10-11 17:43:10

标签: c# .net resolution screen-resolution high-resolution

我有宽屏显示器,如果为此设备设置了“错误”分辨率,我想保留我的应用程序的宽高比。

例如,显示器可以显示分辨率为1920x1080的完美圆圈。 但是当设置分辨率1400x1050时,圆圈看起来像椭圆形。

客户希望调整我们的应用程序大小,以便以任何分辨率显示完美的圆圈。

enter image description here

那么是否有可能以某种方式缩放应用程序并保持宽高比以在真实设备上以适当的比例显示它?

2 个答案:

答案 0 :(得分:1)

您可以覆盖OnResize的{​​{1}}事件以保留其宽高比:

Form

修改
假设最大屏幕分辨率反映了" square"要求,您可以获得herehere所述的所有屏幕分辨率。你只需要找到"最大值"他们。

请注意,Windows通常没有真正的DPI值,我只使用DPI来比较水平DPI和垂直DPI。

答案 1 :(得分:-2)

获取窗口的高度,并根据需要将宽度缩放为高度的一小部分,或者相反。

void aspectRation(var width, var height){
    //Divide by 100 to get 1% of height, then multiply by (a number) to maintain ratio
    var newWidth = (height/100) * 80;

    //set the window size here
}

设置窗口大小取决于您的应用程序。