假设form2就是你说的A窗体 private sub Command1_click() form2.show 0,me end sub
假如窗體B已經打開,在加載窗體A時用下面這句就可以的: FormA.show vbModal 如果窗體B未打開,就要在加載窗體A時調用一個API: Public 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 Public Const HWND_NOTOPMOST = -2 Public Const HWND_TOPMOST = -1 Public Const SWP_NOMOVE = &H2 Public Const SWP_NOSIZE = &H1 Public Const flag = SWP_NOMOVE Or SWP_NOSIZEPrivate Sub Form_Load() SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, flag End Sub
在VB.net中,可以用form.showDialog 和 show来区别,也就是所谓的模态和非模态。vb6.0里面也应该有这个概念的。只是不知道如何实现?
private sub Command1_click()
form2.show 0,me
end sub
FormA.show vbModal
如果窗體B未打開,就要在加載窗體A時調用一個API:
Public 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
Public Const HWND_NOTOPMOST = -2
Public Const HWND_TOPMOST = -1
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Const flag = SWP_NOMOVE Or SWP_NOSIZEPrivate Sub Form_Load()
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, flag
End Sub