在VB编程中,如何使弹出的窗口总在最前面?

解决方案 »

  1.   

    调用一个API函数SetWindowPos可实现此功能。首先添加一个公用模块,将下面的代码放到模块的声明段中。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 LongPublic Const HWND_TOPMOST = -1
    Public Const SWP_NOMOVE = &H2
    Public Const SWP_NOSIZE = &H1
    Public Const SWP_NOZORDER = &H8将下面的子程序放到模块中Public Sub SetFormTopmost(TheForm As Form)SetWindowPos TheForm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, _
    SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZEEnd Sub最后,通过调用该子程序设置你想要放置的窗体。例如,你想将窗体frmMyForm放在最前面,代码如下:SetFormTopmost frmMyForm.
      

  2.   

    多說兩句吧,
    如果是在一個 Form1 中調用 另一個 Form2 ,希望Form2會在Form1的上面就用在調用Form2時用
    Form2.show 1
      

  3.   

    window(窗体名).show vbmodal,me
      

  4.   

    hehe,大家别理解错了,我想顶层的误解提问者的意思了吧
      

  5.   

    UP
    窗体名.show vbmodal,me