使用 SysInfo 控件提供的一些操作系统属性和事件,能够检测屏幕大小和分辨率的改变,并进行相应的处理。
在下例中,当屏幕分辨率发生改变后,检查活动窗体的大小,如果它超出了屏幕可见区域,则调整该窗体的大小。
要在屏幕分辨率变化后改变窗体的大小,需要在 DisplayChanged 事件中使用 WorkAreaWidth、WorkAreaLeft 和 WorkAreaTop 属性。
在屏幕分辨率发生变化之后改变窗体的大小
Private Sub sysDetectOS_DisplayChanged()
If Screen.ActiveForm.Width > _
sysDetectOS.WorkAreaWidth Then
Screen.ActiveForm.Left = _
sysDetectOS.WorkAreaLeft
Screen.ActiveForm.Width = _
sysDetectOS.WorkAreaWidth
End If
If Screen.ActiveForm.Height > _
sysDetectOS.WorkAreaHeight Then
Screen.ActiveForm.Top = _
sysDetectOS.WorkAreaTop
Screen.ActiveForm.Height = _
sysDetectOS.WorkAreaHeight
End If
End Sub