public override void MouseUp(Control c, Point pt, MouseButtons button)
{
// Let base class process up event
base.MouseUp(c, pt, button);
// If the mouse up has caused a change in capture
if (Captured != _moving)
{
// We must have lost capture
_moving = false;
// Remove the message filter, as long as it is registered
// it will prevent the class from being garbage collected.
UnregisterFilter();
// Callback to the source to show movement has finished
Point splitPt = RecalcClient(pt);
_source.SeparatorMoved(pt, splitPt);
}
}