一个MDIForm窗体:MDIForm1
里面有两个form:form1和form2
form1.MDIChild=trueform1中我打开form2 
form2要置于form1之上
form2没关闭 form1不能激活
form2关闭后 form1要激活Private Sub Form_Activate()事件!
这怎么处理?用
form2.MDIChild=false
form2.show 1
form2关闭后 form1的Private Sub Form_Activate()事件没激活如用
form2.MDIChild=true
form2.zorder 1
form2关闭后 form1的Private Sub Form_Activate()事件激活
但是form2不是在顶端
SetWindowPos或者SetForegroundWindow 用这个页面处理好

解决方案 »

  1.   

    '改变指定窗口的"层"位置
    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
                                                        ByVal hWndInsertAfter As Long, _
                                                        ByVal X As Long, _
                                                        ByVal Y As Long, _
                                                        ByVal cx As Long, _
                                                        ByVal cy As Long, _
                                                        ByVal wFlags As Long) As Long
    Private Sub Form_Load()
        '为窗口指定一个新位置和状态,此为最顶
        Call SetWindowPos(Me.hwnd, -1, 0, 0, 0, 0, 3)
    End SubPrivate Sub Form_Unload(Cancel As Integer)
        Form1.Visible = False
        Form1.Visible = True
    End Sub如果没有好方法 就用这种
      

  2.   

    SetWindowPos或者SetForegroundWindow 用这个页面处理好
    应为
    SetWindowPos或者SetForegroundWindow 用这个也没处理好
      

  3.   

    在form2的unload里加代码form1.show