If you want to draw user’s attention but you don’t want to force the form to move to the foreground, you can simply flash its caption (and its icon in the taskbar), using the FlashWindow API function. To do so, just add a Timer with a suitable Interval property (for example, 1000 milliseconds) and then add this code to the form module:
Private Declare Function FlashWindow Lib "user32" (ByVal hWnd As Long, _ ByVal bInvert As Long) As LongPrivate Sub cmdStartFlashing_Click() ' start the flashing by enabling the timer Timer1.Interval = 1000End SubPrivate Sub cmdStopFlashing_Click() ' disable the timer to stop the flashing, and restore regular caption Timer1.Interval = 0 FlashWindow Me.hWnd, 0End SubPrivate Sub Timer1_Timer() ' toggle the caption status FlashWindow Me.hWnd, 1End Sub
The second argument to FlashWindow must be zero to restore the standard state of the caption (that is, the activate state), while a non-zero value toggles from enabled to disabled state, and vice versa.