DevExpress--xtraTabbedMdiManager控件

因项目需要要实现类似jquery的Tab效果,所以要用到xtraTabbedMdiManager控件

使用xtraTabbedMdiManager一般配合navBarControl(上期已写过)

 

在工具箱xtraTabbedMdiManager拖到界面,在属性中将MdiParent设置成(无)

 

大概代码:

xtraTabbedMdiManager1.MdiParent = this;   //设置控件的父表单..
XtraForm1 frm = new XtraForm1();    //定义一个form1窗体
frm.MdiParent = this;    //设置新建窗体的父表单为当前活动窗口
xtraTabbedMdiManager1.SelectedPage = xtraTabbedMdiManager1.Pages[frm];    //使得标签的选择为当前新建的窗口
this.xtraTabbedMdiManager1.ClosePageButtonShowMode = DevExpress.XtraTab.ClosePageButtonShowMode.InAllTabPagesAndTabControlHeader;    //设置标签后面添加删除按钮 ,  多个标签只需要设置一次..

 

具体代码:

首先增加navBarControl控件

this.navBarControl1.Groups.Clear();
 string strFrmName = "select top 10 ModuleCode,ModuleName,AssemblyName,FormName  from [000].tbModule where AssemblyName='KidsServer'";
 DataTable dtFrmName = DBHelper.SQLDBHelper.GetDataTable(strFrmName, DBHelper.SQLDBHelper.conStringHQ);

 NavBarGroup _navBarGroup = new NavBarGroup();
 _navBarGroup.Name = "_navBarGroup";
 _navBarGroup.Caption = "财务管理";

foreach (DataRow dr in dtFrmName.Rows)
{
  NavBarItem _navBarItem = new NavBarItem();
   _navBarItem.Name = dr["ModuleCode"].ToString();
   _navBarItem.Caption = dr["ModuleName"].ToString();
   string strFilePath = System.IO.Directory.GetCurrentDirectory() + @"\images\add.png";
   // _navBarItem.LargeImage = Image.FromFile(strFilePath);//这里一直无法显示图片,不知道是不是我写错了还是什么
   _navBarItem.LargeImageIndex = 0;
   _navBarItem.LinkClicked += new NavBarLinkEventHandler(_navBarItem_LinkClicked);
   _navBarGroup.ItemLinks.Add(_navBarItem);
 }
 navBarControl1.Groups.Add(_navBarGroup);
 _navBarGroup.Expanded = true;

 

NavBarItem事件(实现xtraTabbedMdiManager控件效果):

 void _navBarItem_LinkClicked(object sender, NavBarLinkEventArgs e)
        {
            NavBarItem _navBarItem = (NavBarItem)sender;
            string strFrmName = string.Format("select ModuleCode,ModuleName,AssemblyName,FormName  from [000].tbModule where ModuleCode = '{0}'", _navBarItem.Name);
            DataTable dtFrmName = DBHelper.SQLDBHelper.GetDataTable(strFrmName, DBHelper.SQLDBHelper.conStringHQ);
            string pathDll = Application.StartupPath + @"\" + dtFrmName.Rows[0]["AssemblyName"].ToString() + ".dll";

            Assembly _assembly = Assembly.LoadFrom(pathDll);
            //定义一个"类型信息"的对象.
            Type t = _assembly.GetType(dtFrmName.Rows[0]["FormName"].ToString(), false, true);//就是这里,我获取了dll的窗体名称
            ConstructorInfo cont = t.GetConstructor(new Type[0]);
            XtraForm xf = (XtraForm)cont.Invoke(new object[0]);

            //拖动xtraTabbedManager到窗体中,在属性中将MdiParent设置成(无)...
            xtraTabbedMdiManager1.MdiParent = this;   //设置控件的父表单..
            xf.MdiParent = this;    //设置新建窗体的父表单为当前活动窗口
            xf.Show();    //以非模式窗口方式打开
            xtraTabbedMdiManager1.SelectedPage = xtraTabbedMdiManager1.Pages[xf];    //使得标签的选择为当前新建的窗口
            this.xtraTabbedMdiManager1.ClosePageButtonShowMode = DevExpress.XtraTab.ClosePageButtonShowMode.InAllTabPagesAndTabControlHeader;    //设置标签后面添加删除按钮 ,  多个标签只需要设置一次..
        }

 

效果如下:

 

转载于:https://www.cnblogs.com/bohetang/p/4057162.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: DevExpress是一家提供软件开发工具的技术公司,旗下的产品包括很多有助于开发者提高开发效率和质量的工具和组件。而csdn是一个专门为程序员提供学习、交流和分享的在线社区。所以, "devexpress20-44155 csdn"可能是指在CSDN论坛上有关于DevExpress产品中编号为20-44155的讨论或提问。 在CSDN论坛上,开发者可以发表关于DevExpress产品的观点、发起问题、提供解决方案,以及与其他开发者共同探讨有关DevExpress的开发经验和技巧。 这样的讨论对于那些使用DevExpress产品的开发者来说非常有益。在这个讨论中,开发者可以分享遇到的问题、解决方法和最佳实践,互相学习和启发。同时,DevExpress团队也可以通过参与这样的讨论,了解用户在使用产品过程中的需求和反馈,从而更好地改进产品和提供技术支持。 总之,"devexpress20-44155 csdn"可能是一篇关于DevExpress产品的论坛帖子或讨论串的标题,对于使用DevExpress产品的开发者来说是一个很有价值的资源,可以从中获取到有关产品的信息、技巧和解决方案。 ### 回答2: DevExpress是一个专门开发.NET控件和工具的软件公司。它提供了各种强大、灵活和易于使用的控件,可以帮助开发人员更快速地构建.NET应用程序。 20-44155是DevExpress在其产品中的一个特定问题或bug编号。这个编号用于跟踪、记录和解决在使用DevExpress控件时可能出现的问题或错误。当用户在使用DevExpress控件时遇到问题时,他们可以向DevExpress团队报告这个问题,并提供编号以帮助团队定位并修复问题。 CSDN是中国最大的技术社区之一,也是程序员和开发人员共享技术知识和经验的平台。在CSDN上,用户可以发布技术文章、博客和问题,并与其他开发者交流和讨论。当用户在使用DevExpress控件时遇到问题时,他们可以在CSDN上搜索相关问题,可能会找到与本问题类似的文章或解决方案,这对于解决问题可能会有所帮助。 总的来说,DevExpress是一个专门开发.NET控件和工具的软件公司,20-44155是他们产品中的一个特定问题或bug编号,而CSDN是一个技术社区,用户可以在其中交流和分享技术知识和经验。 ### 回答3: DevExpress20-44155是DevExpress控件库中的一个版本号,它可能是某个特定的版本或修补程序。DevExpress是一个知名的软件开发公司,提供各种开发工具和控件库,方便开发人员创建功能强大的软件应用程序。 在DevExpress控件库中,每个版本都会包含一系列的控件和功能更新,旨在帮助开发人员更高效地构建用户界面和功能模块。这些控件可以用于各种应用程序开发环境,如Windows Forms、ASP.NET、WPF等。 而20-44155则是DevExpress控件库特定版本或修补程序的标识号。通过这个编号,开发人员可以轻松地找到和定位特定的版本或修补程序,以便获取所需的功能和修复程序。 csdn是国内知名的技术社区,提供各种软件开发和技术相关的资源和服务,包括技术文章、论坛、问答等。在csdn上,开发人员可以和其他开发者交流、分享经验和获取技术支持。很多开发者在csdn上分享了对DevExpress控件库的使用心得、教程和问题解答。因此,如果你在使用DevExpress控件库时遇到问题,可以在csdn上搜索相关的文章或提问,获得帮助和解答。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值