When bar is floating it is hosted on a floating container which is simply an instance of System.Windows.Forms.Form object. The floating container is owned by the form that bar is placed on and that is the reason it is always displayed on top of that form.

To make the floating bars behave just like any other top level window i.e. not stay above the parent form all the time, you simply need to set the bar’s floating container owner property to null in BarUndock event. This is an example on how to do that:


private void dotNetBarManager1_BarUndock(object sender, System.EventArgs e)
   Bar bar = sender as Bar;
   ((Form)bar.Parent).Owner = null;


Private Sub dotNetBarManager1_BarUndock(sender As Object, e As System.EventArgs)
    Dim bar As Bar = TryCast(sender, Bar)
    DirectCast(bar.Parent, Form).Owner = Nothing
End Sub

You can download the following sample that shows this in action.