我有VB应用程序,它在加载时将系统的分辨率从1280*1024更改为1024*768。当我停止应用程序时,它会将分辨率恢复到定义为NormalRes = Screen.Width / Screen.TwipsPerPixelX的正常分辨率。但是当我第二次这样做的时候,同时它并没有恢复分辨率。
我检查了代码,返回的分辨率是1024(horizontal=1280)*1024,因此它不能更改分辨率,并停留在1024*768。
让我困扰的是,当正常分辨率被定义为Screen.Width/Screen.TwipsPerPixelX时。
为什么它会给出不同的值(而不是1280,而是1024)。是因为当我第一次更改分辨率时,它的值发生了变化吗?
在什么情况下价值可以有不同的价值??
寻求您的帮助,萨蒂什·库玛
发布于 2012-10-17 20:32:11
与其尝试重新计算屏幕分辨率,不如在更改分辨率之前保存它,然后在关闭应用程序时恢复旧分辨率。
示例:
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 Classhttps://stackoverflow.com/questions/12933858
复制相似问题