screen.width/screen.twipsperpixelx-相同的差异值



i具有VB应用程序,该应用程序加载时,将系统的分辨率从1280*1024更改为1024*768。当我停止应用程序时,它将将分辨率恢复为普通分辨率,该分辨率定义为NormalRes = Screen.Width / Screen.TwipsPerPixelX。但是当我第二次同时这样做时,它没有恢复分辨率。

我检查了代码,返回的分辨率为1024(水平= 1280)*1024,因此无法更改分辨率并保持到1024*768。

让我感到困扰的是,当正常分辨率定义为 Screen.Width/Screen.TwipsPerPixelX

为什么它给出不同的值(而不是1280,它给出了1024)。是因为当我首次更改分辨率时,其价值会改变吗?
在什么情况下,价值可以具有不同的值??

寻求帮助,Satish Kumar

而不是试图重新计算屏幕分辨率,为什么不保存分辨率,然后再更改该分辨率,然后在关闭应用程序时还原屏幕。

示例:

Public Class Form1
    Dim oldSize As Size
    Public Sub Form_Load() Handles Form1.Load
        oldSize = Screen.PrimaryScreen.Bounds.Size
    End Sub
    Public Sub Form_Closed() Handles Form1.Closed
        SetScreenResolution(oldSize)
    End Sub
    Public Sub SetScreenResolution(size As Size)
        ' write your code to change the screen size here
    End Sub
End Class

最新更新