SysInfo 应用实例 2:在屏幕大小和分辨率改变时进行相应的调整

使用 SysInfo 控件提供的一些操作系统属性和事件,能够检测屏幕大小和分辨率的改变,并进行相应的处理。

在下例中,当屏幕分辨率发生改变后,检查活动窗体的大小,如果它超出了屏幕可见区域,则调整该窗体的大小。

要在屏幕分辨率变化后改变窗体的大小,需要在 DisplayChanged 事件中使用 WorkAreaWidth、WorkAreaLeft 和 WorkAreaTop 属性。

在屏幕分辨率发生变化之后改变窗体的大小

  1. 在 Visual Basic 中创建新工程。

  2. 在窗体中添加一个 SysInfo 控件。

  3. 在 SysInfo 控件的 DisplayChanged 事件过程中加入下面的代码:
    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