建立了MDI 窗体后,里面的子窗体,无论MDI 主窗体如何改变大小, 其含有的子窗体都能居中间位置谢谢

解决方案 »

  1.   

    Private Sub MDIForm_Resize()
        
        On Error Resume Next
        
        Dim f   As Form
        
        If Me.WindowState <> vbMinimized Then
            For Each f In Forms
                If Not f Is Me Then
                    If f.MDIChild Then
                        f.Move (ScaleWidth - f.Width) / 2, (ScaleHeight - f.Height) / 2
                    End If
                End If
            Next
        End If
        
    End Sub
      

  2.   

    Public Sub CenterChildForm(ByRef frmObject As Form)
        If Frm_Main.ScaleWidth <= frmObject.Width Then
            frmObject.Left = 0
        Else
            frmObject.Left = (Frm_Main.ScaleWidth - frmObject.Width) / 2
        End If
        If Frm_Main.ScaleHeight <= frmObject.Height Then
            frmObject.Top = 0
        Else
            frmObject.Top = (Frm_Main.ScaleHeight - frmObject.Height) / 2
        End If
    End SubFrm_Main是mdi父窗口,frmObject是要居中的子窗口