public override void Think()
{
//Remove empty panel on drag instead of drop
if (DragAndDrop.SourceControl != null && //TabButton
DragAndDrop.SourceControl.Parent != null && //TabStrip
DragAndDrop.SourceControl.Parent.Parent is PaneGroup)
{
var sourcePaneGroup = (PaneGroup) DragAndDrop.SourceControl.Parent.Parent;
if(sourcePaneGroup.TabCount == 1)
{
var container = sourcePaneGroup.Parent as Container;
if (container == null)
throw new Exception();
container.RemovePanel(sourcePaneGroup);
}
}
if (DragAndDrop.SourceControl == null)
RemoveEmptyPaneGroups();
base.Think();
}