选项卡式窗体显示

编程入门 行业动态 更新时间:2024-10-11 11:18:48

选项卡式<a href=https://www.elefans.com/category/jswz/34/1765694.html style=窗体显示"/>

选项卡式窗体显示

  private void ShowWindow(Form newForm)
        {
            newForm.MdiParent = this;
            //newForm.TopLevel = false;
            TabPage newpage = new TabPage(newForm.Text);
            newpage.Tag = newForm;
            newpage.Parent = tabShow;//设置新建tabpage父级为tabcontrol
            newForm.Parent = newpage;;//设置新建窗体newForm父级为tabpage
            this.tabShow.SelectedTab = newpage;
            newForm.Dock = DockStyle.Fill;
            newForm.Tag = tabShow.SelectedTab;
            newForm.FormBorderStyle = FormBorderStyle.None;
            newForm.FormClosed += new FormClosedEventHandler(newForm_FormClosed);
            newForm.Show();
        }

 /// <summary>
        /// 窗体关闭时移除该处选项卡
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void newForm_FormClosed(object sender, FormClosedEventArgs e)
        {
            Form newform = sender as Form;
            tabShow.TabPages.Remove(newform.Tag as TabPage);
        }
        //选项卡双击时关闭窗体移除选项卡
        private void tabShow_DoubleClick(object sender, EventArgs e)
        {
            if (tabShow.TabCount > 0)
            {
                Form fmShowDialog = (Form)tabShow.SelectedTab.Tag;
                fmShowDialog.Close();
            }
        }

 /// <summary>
        /// 退出
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void ExitButton_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
        /// <summary>
        /// 菜单单击事件 显示窗体
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void tmChild_Click(object sender, EventArgs e)
        {
                AddNewForwShow(sender);
        }

        private void AddNewForwShow(object sender)
        {
            bool IsExist = false;
            if (sender is ToolStripButton)
            {
                ToolStripButton tsbutton = sender as ToolStripButton;
                switch (tsbutton.Text)
                {
                    case "数据库备份":
                        DataTable dtShowDialog = new SJTD_HDYX.BLL.MenuForm().GetList(string.Format("mf_MenuID={0}", Convert.ToInt32(tsbutton.Tag))).Tables[0];
                        string str = "SJTD_HDYX." + dtShowDialog.Rows[0]["mf_FormName"].ToString();
                        //加载 窗体对象
                        Form fmShowDialog = (Form)Assembly.LoadFile(Application.StartupPath + "\\" + "SJTD_HDYX.exe").CreateInstance(str);
                        fmShowDialog.Text = tsbutton.Text;
                        fmShowDialog.ShowDialog();
                        break;
                    default:
                        foreach (TabPage tab in tabShow.TabPages)
                        {
                            if (tab.Text == tsbutton.Text)
                            {
                                IsExist = true;
                                tabShow.SelectedTab = tab;
                                break;
                            }
                        }
                        if (!IsExist)
                        {
                            DataTable dt = new SJTD_HDYX.BLL.MenuForm().GetList(string.Format("mf_MenuID={0}", Convert.ToInt32(tsbutton.Tag))).Tables[0];
                            if (dt.Rows.Count > 0)
                            {
                                string s = "SJTD_HDYX." + dt.Rows[0]["mf_FormName"].ToString();
                                //加载 窗体对象
                                Form fm = (Form)Assembly.LoadFile(Application.StartupPath + "\\" + "SJTD_HDYX.exe").CreateInstance(s);
                                fm.Text = tsbutton.Text;
                                ShowWindow(fm);
                            }
                        }
                        break;
                }
            }

            else if (sender is ToolStripMenuItem)
            {
                ToolStripMenuItem tsmenu = sender as ToolStripMenuItem;
                switch (tsmenu.Text)
                {
                    case "密码安全":
                    case "数据库备份":
                    case "热表更换":
                        DataTable dtShowDialog = new SJTD_HDYX.BLL.MenuForm().GetList(string.Format("mf_MenuID={0}", Convert.ToInt32(tsmenu.Tag))).Tables[0];
                        string str = "SJTD_HDYX." + dtShowDialog.Rows[0]["mf_FormName"].ToString();
                        //加载 窗体对象
                        Form fmShowDialog = (Form)Assembly.LoadFile(Application.StartupPath + "\\" + "SJTD_HDYX.exe").CreateInstance(str);
                        fmShowDialog.Text = tsmenu.Text;
                        fmShowDialog.ShowDialog();
                        break;
                    case "联系我们":
                        System.Diagnostics.Process.Start("www.yingcin");
                        break;
                    case "用户退出":
                        Application.Exit();
                        IsChangeUser = true;
                        break;
                    case "更换用户":
                        IsChangeUser = true;
                        this.DTUService.StopService();
                        this.Close();
                        break;
                    default:
                        foreach (TabPage tab in tabShow.TabPages)
                        {
                            if (tab.Text == tsmenu.Text)
                            {
                                IsExist = true;
                                tabShow.SelectedTab = tab;
                                break;
                            }
                        }
                        if (!IsExist)
                        {
                            DataTable dt = new SJTD_HDYX.BLL.MenuForm().GetList(string.Format("mf_MenuID={0}", Convert.ToInt32(tsmenu.Tag))).Tables[0];
                            if (dt.Rows.Count > 0)
                            {
                                string s = "SJTD_HDYX." + dt.Rows[0]["mf_FormName"].ToString();
                                //加载 窗体对象
                                Form fm = (Form)Assembly.LoadFile(Application.StartupPath + "\\" + "SJTD_HDYX.exe").CreateInstance(s);
                                fm.Text = tsmenu.Text;
                                ShowWindow(fm);
                            }
                        }
                        break;
                }
            }
        }

转载于:.html

更多推荐

选项卡式窗体显示

本文发布于:2024-02-06 09:14:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1748244.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:窗体   选项

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!