zoukankan      html  css  js  c++  java
  • Devexpress-xtraTabControl1

     
    /// <summary>
            /// 动态添加tabpage
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void ItemKuFangGuanLi_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
            {
                string name = e.Link.Caption;
                //判断是否已创建过
                foreach (XtraTabPage page in xtraTabControl1.TabPages)
                {
                    if (page.Text == name)
                    {
                        xtraTabControl1.SelectedTabPage = page;//显示该页
                        return;
                    }
                }
                //增加tabpage
                XtraTabPage xpage = new XtraTabPage();
                xpage.Name = name;
                xpage.Text = name;
                //向xtraTabControl1中添加窗体
                FrmKuFangGuanLi frm = new FrmKuFangGuanLi();
                frm.Visible = true;
                frm.Dock = DockStyle.Fill;
                frm.FormBorderStyle = FormBorderStyle.None;
                frm.TopLevel = false;//在这里一定要注意  负责是加载不出来的  
                xpage.Controls.Add(frm);//添加要增加的控件
                xtraTabControl1.TabPages.Add(xpage);
                xtraTabControl1.SelectedTabPage = xpage;//显示该页
            }
           public void OpenMdiFormToSuperTabControl(DevExpress.XtraTab.XtraTabControl NavTabControl, ModuleInfo mInfo)
           {
               string name = mInfo.CasesName;
               //判断是否已创建过
               foreach (DevExpress.XtraTab.XtraTabPage page in NavTabControl.TabPages)
               {
                   if (page.Text == name)
                   {
                       NavTabControl.SelectedTabPage = page;//显示该页
                       return;
                   }
               }
               //增加tabpage
               DevExpress.XtraTab.XtraTabPage xpage = new DevExpress.XtraTab.XtraTabPage();
               xpage.Name = name;
               xpage.Text = name;
               //向xtraTabControl1中添加窗体
               string assemblyPath = mInfo.Cases.Substring(0, mInfo.Cases.IndexOf(".dll"));
               System.Reflection.Assembly assembly = System.Reflection.Assembly.LoadFile(Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath) + "\Plugin\"+assemblyPath + ".dll");
               // 获取类型
               string formClassName = mInfo.Cases.Substring(mInfo.Cases.IndexOf(".dll") + 5, mInfo.Cases.Length - (mInfo.Cases.IndexOf(".dll") + 5));
               Type type = Type.GetType(formClassName);
               var childForm = Activator.CreateInstance(type) as Form;
               childForm.Tag = mInfo.CasesName;  //tag属性要重新写一次,否则在第二次的时候取不到。原因还不清楚。有知道的望告知。
               childForm.Visible = true;
               childForm.Dock = DockStyle.Fill;
               childForm.FormBorderStyle = FormBorderStyle.None;
               childForm.TopLevel = false;//在这里一定要注意  负责是加载不出来的  
               xpage.Controls.Add(childForm);//添加要增加的控件
               NavTabControl.TabPages.Add(xpage);
               NavTabControl.SelectedTabPage = xpage;//显示该页
    
           }
    /// <summary>
            /// 移除tabpage
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void xtraTabControl1_CloseButtonClick(object sender, EventArgs e)
            {
                DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs eArg = (DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs)e;
                string name = eArg.Page.Text;//得到关闭的选项卡的text  
                foreach (XtraTabPage page in xtraTabControl1.TabPages)//遍历得到和关闭的选项卡一样的Text  
                {
                    if (page.Text == name)
                    {
                        xtraTabControl1.TabPages.Remove(page);
                        page.Dispose();
                        return;
                    }
                }
            }
            private void barButtonItemClose_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
            {
                if (this.Parent!=null)
                {
                    DevExpress.XtraTab.XtraTabControl tab = new DevExpress.XtraTab.XtraTabControl();
                    tab = (DevExpress.XtraTab.XtraTabControl)this.Parent.Parent;
                    DevExpress.XtraTab.XtraTabPage item = (DevExpress.XtraTab.XtraTabPage)this.Parent;
                    tab.TabPages.Remove(item);
                    item.Dispose();
                }
            }
  • 相关阅读:
    2019-2020-2 网络对抗技术 20175217 Exp6 MSF基础应用
    2020_1课程设计—基于BC的证书格式转换工具的设计与实现—第二周进展
    2019-2020-2 网络对抗技术 20175217 Exp5 信息搜集与漏洞扫描
    2019-2020-2 网络对抗技术 20175217 Exp4 恶意代码分析
    2019-2020-2 网络对抗技术 20175205 Exp 9 Web安全基础
    2019-2020-2 网络对抗技术 20175205 Exp8 Web基础
    2019-2020-2 网络对抗技术 20175205 Exp7 网络欺诈防范
    2020_1课程设计—基于BC的证书格式转换工具的设计与实现—个人报告
    2020_1课程设计—基于BC的证书格式转换工具的设计与实现—Week3
    2019-2020-2 网络对抗技术 20175205 Exp6 MSF基础应用
  • 原文地址:https://www.cnblogs.com/wangyinlon/p/10906727.html
Copyright © 2011-2022 走看看