你可以在Resize事件中知道窗口被最大化、最小化(参考QA001547 “当最小化一个窗体时，其他的窗体也随着最小化”)。 
    你也可以使用下面的代码禁止对MDI窗体最大化： 
    Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long 
    Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long 
    Private Const SC_MAXIMIZE = &HF030 
    Private Const MF_BYCOMMAND = &H0& 
    Private Const WS_MAXIMIZEBOX = &H10000 
    Private Const GWL_EXSTYLE = (-20) 
    Private Const GWL_STYLE = (-16) 
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _ 
     (ByVal hwnd As Long, _ 
     ByVal nIndex As Long, _ 
     ByVal dwNewLong As Long) As Long 
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _ 
     (ByVal hwnd As Long, _ 
     ByVal nIndex As Long) As Long 
     
    Private Sub MDIForm_Load() 
     Dim hMenu As Long, Success As Long 
     
     hMenu = GetSystemMenu(hwnd, 0) 
     Success = DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND) 
     Dim xl As Long 
     
     Me.Show 
     xl = GetWindowLong(hwnd, GWL_STYLE) 
     xl = xl And (Not WS_MAXIMIZEBOX) 
     SetWindowLong hwnd, GWL_STYLE, xl 
    End Sub 
<END>     
    Private Sub MDIForm_Resize() 
     Select Case Me.WindowState 
     Case vbMaximized 
     If WindowState = 2 Then WindowState = 0'是最大化失效 
     
     Case vbMinimized 
     Case Else'限制窗体大小 
     If Me.Width <> 12000 Then Me.Width = 12000 
     Me.Height = 9000 - StatusBar1.Height 
     End Select 
    End Sub 
<END>