public IWorkSpaceShell CreateWorkSpace(string workSpaceName, int workSpaceId)
        {
            WorkSpaceShell workSpaceShell = new WorkSpaceShell(workSpaceName, workSpaceId);

            workSpaceShell.WorkForm().Tag = workSpaceShell;

            return(workSpaceShell);
        }
        public void RemoveWorkSpace(int workSpaceId)
        {
            for (int i = 0; i < m_WorkSpaceContainer.TabPages.Count; ++i)
            {
                WorkSpaceForm  workSpaceForm  = (WorkSpaceForm)m_WorkSpaceContainer.TabPages[i].Form;
                WorkSpaceShell workSpaceShell = (WorkSpaceShell)workSpaceForm.Tag;

                if (workSpaceShell.WorkSpaceId() == workSpaceId)
                {
                    m_WorkSpaceContainer.TabPages.Remove(workSpaceShell.Shell);
                    break;
                }
            }
        }
        public void MoveTo(WorkItemDockContent workItem, WorkSpaceShell targetWorkSpace)
        {
            DockPanel panel = ((WorkSpaceForm)targetWorkSpace.WorkForm()).WorkSpaceDockPanel();

            WinAPI.Rect windowRect;
            if (!ReferenceEquals(workItem.ParentForm, null))
            {
                WinAPI.NativeMethods.GetWindowRect(workItem.ParentForm.Handle, out windowRect);
            }
            else
            {
                WinAPI.NativeMethods.GetWindowRect(workItem.Handle, out windowRect);
            }

            workItem.Show(panel, windowRect);
        }