Ti scrivo come in VB6 si poteva tenere in primo piano magari ti puo servire

codice:
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 SWP_FRAMECHANGED = &H20
        Public Const HWND_TOP = 0
        Public Const HWND_TOPMOST = -1
        Public Const HWND_NOTOPMOST = -2
        Public Const SWP_DRAWFRAME = SWP_FRAMECHANGED
        Public Const SWP_HIDEWINDOW = &H80
        Public Const SWP_NOACTIVATE = &H10
        Public Const SWP_NOCOPYBITS = &H100
        Public Const SWP_NOMOVE = &H2
        Public Const SWP_NOOWNERZORDER = &H200
        Public Const SWP_NOREDRAW = &H8
        Public Const SWP_NOREPOSITION = SWP_NOOWNERZORDER
        Public Const SWP_NOSIZE = &H1
        Public Const SWP_NOZORDER = &H4
        Public Const SWP_SHOWWINDOW = &H40


Sub FormOnTop(frm As Form, VF As Boolean)
    ' Questa procedura permette di impostare sempre in primo piano un form rispetto alle altre finestre
    ' frm ---> form su cui agisce la procedura
    ' vf  ---> se true il form è visualizzato in primo piano
    
 Select Case VF
    Case True
      SetWindowPos frm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOSIZE Or SWP_NOMOVE
    Case False
      SetWindowPos frm.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOSIZE Or SWP_NOMOVE

End Select
End Sub