void DetachPadContents(bool dispose) { foreach (PadContentWrapper padContentWrapper in contentHash.Values) { padContentWrapper.allowInitialize = false; } foreach (PadDescriptor content in ((DefaultWorkbench)wbForm).PadContentCollection) { try { PadContentWrapper padContentWrapper = contentHash[content.Class]; padContentWrapper.DockPanel = null; if (dispose) { padContentWrapper.DetachContent(); padContentWrapper.Dispose(); } } catch (Exception e) { MessageService.ShowError(e); } } if (dispose) { contentHash.Clear(); } }