As a follow-up note to this topic: If you're showing a dialog form with ShowDialog and that form is itself set to TopMost = True, I additionally suggest adding an event handler for the dialog form's FormClosing() event and set Me.TopMost = False at that time. This helps prevent a secondary bug where the calling form that spawned the dialog is itself kicked back behind windows that it was originally on top of when the child dialog form closes.