Option Explicit Private Const HWND_TOPMOST = -&H1 Private Const HWND_NOTOPMOST = -&H2 Private Const SWP_NOSIZE = &H1 Private Const SWP_NOMOVE = &H2 Private Declare Sub 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) Private IsOnTop As Boolean Public Property Let AlwaysOnTop(Byval bState As Boolean) Dim lFlag as Long If bState Then lFlag = HWND_TOPMOST Else lFlag = HWND_NOTOPMOST IsOnTop = bState SetWindowPos Me.hWnd, lFlag, 0&, 0&, 0&, 0&, (SWP_NOSIZE Or SWP_NOMOVE) End Property Public Property Get AlwasyOnTop() As Boolean AlwaysOnTop = IsOnTop End Property 'You only need this code if the form can be minimized. 'Private Sub Form_Resize() ' AlwaysOnTop = IsOnTop 'End Sub