private void projectTreeview_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { using (new Wait()) { if (e.Node is TemplateTreeNode) { TemplateTreeNode node = (TemplateTreeNode)e.Node; if (TemplateTabPages.ContainsKey(node.Template)) { documentsTabControl.SelectedTab = TemplateTabPages[node.Template]; } else { TabPage tabPage = new TabPage(Path.GetFileName(node.Template.XsltHintPath)); TemplateEditor editor = null; try { editor = new TemplateEditor(node.Template); } catch (Exception ex) { MessageBox.Show("An error occurred while loading the template: " + ex.Message, "Template Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } editor.Dock = DockStyle.Fill; editor.TextChanged += new EventHandler(Editor_TextChanged); tabPage.Controls.Add(editor); documentsTabControl.TabPages.Add(tabPage); documentsTabControl.SelectedTab = tabPage; documentsTabControl.Visible = true; TemplateTabPages.Add(node.Template, tabPage); } } } }