我有一个程序,有一个主窗体,在主窗体上还有菜单,有一个打开文件的菜单,点击此菜单弹出打开对话框,我用的是commondialog控件,还有一个菜单打开另外一个窗体,我在点击此菜单时使用了api函数,使窗体在最上面显示,当我先点击此菜单打开这个窗体,再点击打开文件菜单弹出打开文件对话框,使那个窗体不消失,但打开文件对话框显示在那个窗体的下面,我想让它显示在那个窗体的上面怎么么办呀?谢谢!!

解决方案 »

  1.   

    不要使用api函数使窗体在最上面显示。
    一个菜单打开另外一个窗体时,使用form1.show ,me
    再调用打开文件对话框
      

  2.   

    用API显示在上面,作用就是永远在上面,如果想让其它窗体在上面
    就只能改变原窗体的状态
    先将原窗体还原
    AlwaysOnTop form1,false
    然后再使用打开文件对话框吧Public Sub AlwaysOnTop(TheForm As Form, Toggle As Boolean)
        If Toggle = True Then
            SetWindowPos TheForm.HWND, -1, 0, 0, 0, 0, &H2 Or &H1
        Else
            SetWindowPos TheForm.HWND, -2, 0, 0, 0, 0, &H2 Or &H1
        End If
    End Sub主要还是不明确你为什么一定要那样实现