예제 #1
0
        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;
            }
        }
예제 #2
0
 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);
     }
 }
예제 #3
0
 public RoleUcForm(SubForm ownerForm)
 {
     InitializeComponent();
     this._ownerFrom = ownerForm;
 }