• 选项卡式窗体显示


      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.com");
                            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;
                    }
                }
            }

  • 相关阅读:
    Python 强制停止多线程运行
    自动化测试 Appium之Python运行环境搭建 Part2
    自动化测试 Appium之Python运行环境搭建 Part1
    Genymotion Android模拟器Genymotion的安装和使用
    Easyui datagrid combobox输入框下拉(取消)选值和编辑已选值处理
    性能测试 接口性能测试需要注意的点
    Python 基于Python及zookeeper实现简单分布式任务调度系统设计思路及核心代码实现
    lintcode:整数排序||
    lintcode:整数排序
    lintcode:玩具工厂
  • 原文地址:https://www.cnblogs.com/Iyce/p/2738673.html
Copyright © 2020-2023  润新知