2012-10-17 6 views
1

로딩 할 때 시스템 해상도를 1280 * 1024에서 1024 * 768로 변경하는 VB 응용 프로그램이 있습니다. 응용 프로그램을 중지하면 해상도가 NormalRes = Screen.Width/Screen.TwipsPerPixelX으로 정의 된 정상 해상도로 복원됩니다. 그러나 두 번째로 동시에 할 때 해상도가 복원되지 않았습니다.Screen.width/Screen.TwipsperpixelX - 다른 값 동일

코드를 확인했는데 반환 된 해상도는 1024 (가로 = 1280) * 1024 였으므로 해상도를 변경할 수 없어 1024 * 768로 유지되었습니다.

정상적인 해상도가 Screen.Width/Screen.TwipsPerPixelX 인 경우 어떤 버그가 발생합니까?

다른 값을 부여하는 이유는 무엇입니까 (1280 대신 1024를 제공함). 그것은 처음으로 해상도를 변경할 때 그 값이 변하기 때문입니까?
어떤 상황에서 the의 값이 다른 값을 가질 수 있습니까? ?

당신의 도움을 찾는, 사티쉬 쿠마르

답변

1

대신에 당신은 당신이 그것을 변경하기 전에 해상도를 저장 한 다음 응용 프로그램이 종료 될 때 이전 복원하지 않는 이유 화면 해상도를 다시 계산하기 위해 노력.

예 :

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