private void AddDebugDocument(object sender, EventArgs e)
        {
            TextDoc dummyDoc = CreateNewDocument();

            if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi)
            {
                dummyDoc.MdiParent = this;
                dummyDoc.Show();
            }
            else
            {
                dummyDoc.Show(dockPanel, DockState.Document);
            }
            dockPanel.ResumeLayout(true, true);
        }
        private TextDoc CreateNewDocument()
        {
            TextDoc dummyDoc = new TextDoc();

            int    count = 1;
            string text  = $"Document{count}";

            while (FindDocument(text) != null)
            {
                count++;
                text = $"Document{count}";
            }

            dummyDoc.Text = text;
            return(dummyDoc);
        }
        /// <summary>
        /// 持続文字列からコンテンツを取得する
        /// </summary>
        /// <param name="persistString"></param>
        /// <returns></returns>
        private IDockContent GetContentFromPersistString(string persistString)
        {
            if (persistString == typeof(SolutionExplorerDoc).ToString())
            {
                return(m_solutionExplorer);
            }
            //else if (persistString == typeof(DummyPropertyWindow).ToString())
            //    return m_propertyWindow;
            //else if (persistString == typeof(DummyToolbox).ToString())
            //    return m_toolbox;
            else if (persistString == typeof(OutputWindow).ToString())
            {
                return(m_outputWindow);
            }
            //else if (persistString == typeof(DummyTaskList).ToString())
            //    return m_taskList;
            else
            {
                // TextDocはGetPersistStringをオーバーライドして、余分な情報をpersistStringに追加
                // 任意のDockContentがこの値をオーバーライドして、逆シリアル化に必要な情報を追加できます。


                string[] parsedStrings = persistString.Split(new char[] { ',' });
                if (parsedStrings.Length != 3)
                {
                    return(null);
                }

                if (parsedStrings[0] != typeof(TextDoc).ToString())
                {
                    return(null);
                }

                TextDoc dummyDoc = new TextDoc();
                if (parsedStrings[1] != string.Empty)
                {
                    dummyDoc.FileName = parsedStrings[1];
                }
                if (parsedStrings[2] != string.Empty)
                {
                    dummyDoc.Text = parsedStrings[2];
                }

                return(dummyDoc);
            }
        }