private void generateSubForm(TreeNode treeNode) { isGeneratingSubForm = true; try { TabPage tabPage = (TabPage)treeNode.Tag; if (tabPage != null) { tabControl1.SelectedTab = tabPage; if (!tabControl1.TabPages.Contains(tabPage)) { tabControl1.TabPages.Add(tabPage); } } else { tabPage = new TabPage(); tabPage.Name = treeNode.Name; tabPage.Text = treeNode.Text; treeNode.Tag = tabPage; //Form fm = (SubForm)System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(GetType().Namespace + "." + "SubForm"); SubForm fm = new SubForm(); fm.FormBorderStyle = FormBorderStyle.None; fm.TopLevel = false; fm.ControlBox = false; fm.Parent = tabPage; fm.Dock = DockStyle.Fill; fm.Name = treeNode.Name; fm.Text = treeNode.Text; tabPage.Tag = fm; tabControl1.TabPages.Add(tabPage); tabControl1.SelectedTab = tabPage; fm.Tag = treeNode; fm.CloseForm += (a) => { CloseHandle _handle = new CloseHandle(CloseForm); this.BeginInvoke(_handle, a); }; fm.Show(); fm.Focus(); } } catch (Exception e) { MessageBox.Show(e.Message); } finally { isGeneratingSubForm = false; } }
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { if (tabControl1.Controls.Count > 0) { if (isGeneratingSubForm) { return; } SubForm fm = (SubForm)tabControl1.SelectedTab.Tag; treeView1.SelectedNode = (TreeNode)(fm.Tag); } }
public RoleUcForm(SubForm ownerForm) { InitializeComponent(); this._ownerFrom = ownerForm; }