DotNetBar控件的多文档界面的实现

article/2025/10/21 4:34:36

DotNetBar是一个不错的DotNET控件套装,原来是一个DLL文件,能够做出很漂亮的界面效果,记得在8.0以前的版本,好像实现多文档界面稍显得麻烦一些,我的Winform框架、WCF框架虽然也提供了这样多文档的界面,不过都是曲线救国的方式实现。随着DotNetBar控件的逐步完善,版本一路飙升,文件也开始学DevExpress那样,使用多个文件进行拆分了。目前11.0版本以上,都有一个SuperTabControl的控件,实现多文档的界面已经很方便了。本文介绍利用SuperTabControl控件实现一个多文档界面的效果,供大家参考学习。

 

1、多文档界面的设计

下面是框架的一个基于DotNetBar控件的界面设计效果,按照Ribbon样式的方式进行组织,并把多文档界面放在中间,这样界面效果更加美观合理。

另外为了使得在Tab页面上可以关闭窗口,可以增加一个右键菜单,如下所示。

设置控件的相关属性,使得他的关闭按钮一直存在,并关联它的右键菜单即可,如下所示。

这个SuperTabControl,支持好几种Tab样式的,有些看起来非常不错,在其中选择自己喜欢的样式即可。

2、多文档界面的代码实现

在主界面中的Form_Load事件中,我们清空并初始化默认的Tab页面即可,如下所示。

 private void MainForm_Load(object sender, EventArgs e){Init();//清空默认的TabNavTabControl.Tabs.Clear();tool_ItemDetail_Click(null, null);}private void tool_ItemDetail_Click(object sender, EventArgs e){SetMdiForm("备件信息", typeof(FrmItemDetail));}

从上面的代码,我们看到核心的界面排版就是SetMdiForm函数了,下面我们来看看这个函数的具体实现。这个函数目的就是创建或者显示一个多文档界面页面。

/// <summary>/// 创建或者显示一个多文档界面页面/// </summary>/// <param name="caption">窗体标题</param>/// <param name="formType">窗体类型</param>public void SetMdiForm(string caption, Type formType){bool IsOpened = false;//遍历现有的Tab页面,如果存在,那么设置为选中即可foreach (SuperTabItem tabitem in NavTabControl.Tabs){if (tabitem.Name == caption){NavTabControl.SelectedTab = tabitem;IsOpened = true;break;}}//如果在现有Tab页面中没有找到,那么就要初始化了Tab页面了if (!IsOpened){//为了方便管理,调用LoadMdiForm函数来创建一个新的窗体,并作为MDI的子窗体//然后分配给SuperTab控件,创建一个SuperTabItem并显示DevComponents.DotNetBar.Office2007Form form = ChildWinManagement.LoadMdiForm(Portal.gc.MainDialog, formType)as DevComponents.DotNetBar.Office2007Form;SuperTabItem tabItem = NavTabControl.CreateTab(caption);tabItem.Name = caption;tabItem.Text = caption;form.FormBorderStyle = FormBorderStyle.None;form.TopLevel = false;form.Visible = true;form.Dock = DockStyle.Fill;//tabItem.Icon = form.Icon;tabItem.AttachedControl.Controls.Add(form);NavTabControl.SelectedTab = tabItem;}}

上面提到了右键菜单的操作,关闭其他或者关闭全部Tab页面的功能,这个实现如下所示。

  private void ctx_Window_CloseAll_Click(object sender, EventArgs e){CloseAllDocuments();}private void ctx_Window_CloseOther_Click(object sender, EventArgs e){CloseOthers();}public void CloseAllDocuments(){for (int i = NavTabControl.Tabs.Count - 1; i >= 0; i--){SuperTabItem tabitem = NavTabControl.Tabs[i] as SuperTabItem;if (tabitem != null){tabitem.Close();}}}public void CloseOthers(){if (ActiveMdiChild != null){Type formType = ActiveMdiChild.GetType();for (int i = NavTabControl.Tabs.Count - 1; i >= 0; i--){SuperTabItem tabitem = NavTabControl.Tabs[i] as SuperTabItem;if (tabitem != null && formType != tabitem.AttachedControl.Controls[0].GetType()){tabitem.Close();}}}}

最终界面效果如下所示。

另一个权限管理系统界面的多文档界面调整如下所示。

这样引入了Supertab控件,整体的多文档Tab界面实现起来就更加方便和美观了。


http://chatgpt.dhexx.cn/article/qSTaDWT2.shtml

相关文章

C#之DotNetBar2使用方法 - itemPanel1

用itemPanel做个按钮菜单&#xff0c;模拟用来操控开关按钮 对象buttonItem1的属性&#xff08;itempanel可以添加的子控件列表对象&#xff0c;根据需要选择&#xff0c;这里用到的Button&#xff09; 可以用控件自带的样式&#xff0c;也可以用代码控制&#xff0c;也可以预先…

winfrom DotNetBar sideNav控件使用问题

sideNav初始UI 在最开始的界面&#xff0c;不知道设置了什么东西&#xff0c;然后没有那个东西 最后又新建了个项目&#xff0c;一个一个对比参数。还是没找到&#xff01;倒是发现几个其他的参数属性 在这里记录下 这是分别对应的是对sideNav的sideNavPanel的折叠 最大化 隐藏…

界面控件DotNetBar for WinForms使用教程:highlight组件使用教程

DotNetBar for WinForms是一个拥有89个组件的用户界面控件套包&#xff0c;用户可以使用Visual Studio 2005-2015轻松地创建专业的用户界面。十多年来DotNetBar帮助开发人员轻松地创建易用的专业Windows Forms (WinForms) 用户界面。DotNetBar是全世界第一个引入全功能Office 2…

C#之DotNetBar2使用方法 - superTabControl1

C#版本&#xff1a;DevComponents.DotNetBar2 14.1.0 &#xff08;可以搜下各种版本&#xff09; 常用的控件使用属性&#xff0c;方法&#xff1b; 1&#xff09;superTabControl1 关闭和菜单设置方法 visibletrue/false closebox :关闭当前选中的TAB menubox:切换tab的菜…

DevComponents.DotNetBar2之SuperTabControl使用技巧

关于类似SuperTabControl的使用如何动态调整其TAB标签的顺序问题&#xff0c;搜了全网也没有找到类似答案&#xff0c;都提到tab键的顺序或者是通过控件界面进行调整其顺序&#xff0c;都不是想要的结果&#xff0c;有个网友问的类似问题但是没有一个答案可用。经过反复测试总结…

界面控件DotNetBar for WinForms使用教程:LayoutControl详解(二)

DotNetBar for WinForms是一个拥有89个组件的用户界面控件套包&#xff0c;用户可以使用Visual Studio 2005-2015轻松地创建专业的用户界面。十多年来DotNetBar帮助开发人员轻松地创建易用的专业Windows Forms (WinForms) 用户界面。 点击下载DotNetBar for WinForms最新试用版…

DotNetBar布局(一)

相信大家搞.NET桌面程序开发都会用到一些界面布局的组件&#xff0c;常用的由DotNetBar和devexpress。今天主要将DotNetBar在项目中布局简单介绍一下&#xff0c;个人感觉这个控件还是有很多bug的&#xff0c;不知道什么时候就出现莫名奇妙的排版问题错误。比如突然在设计视图D…

dotnetbar-SuperTabControl禁止调整顺序

superTabCtl.ReorderTabsEnabled false; 禁止调整TAB顺序 superTabCtl.CloseButtonOnTabsAlwaysDisplayedfalse; 禁止x关闭按钮一直在TAB上显示 superTabCtl.CloseButtonOnTabsVisibletrue/false;关闭按钮是否可见 注意&#xff1a; superTabitem.CloseButtonVisibletru…

Visual Studio 2019 中使用 DotNetBar

1、下载并安装DotNetBarSetupTrial 2、在新建项目或者现有项目中进行引用&#xff0c;找到DotNetBar安装路径中需要用到的dll引用&#xff0c;引用路径正确是关键 3、在工具箱中添加选项卡&#xff0c;加载需要用到的控件 先在工具箱空白处添加选项卡&#xff0c;方便管理&am…

DotNetBar for WinForms使用教程:图表控件用户指南(一)

DotNetBar for WinForms是一个拥有89个组件的用户界面控件套包&#xff0c;用户可以使用Visual Studio 2005-2015轻松地创建专业的用户界面。十多年来DotNetBar帮助开发人员轻松地创建易用的专业Windows Forms (WinForms) 用户界面。DotNetBar是全世界第一个引入全功能Office 2…

c# 使用dotnetbar 控件绘制曲线图形

废话不说,直接上过程 加载dotnetbar库后,将chartcontrol控件拖动到界面上,选择line polt 增加一个按钮,绘制曲线功能 private void buttonX26_Click(object sender, EventArgs e) { CreateChartSeries1(); } public void CreateChart…

经典:DotNetBar Suite UI 7.9 for WPF Crack

创建专业的 WPF 应用程序 DotNetBar Suite for WPF 是超过 38 个本机 Windows Presentation Foundation 控件的工具箱&#xff0c;用于创建专业的 WPF 应用程序。 Office 2016 类样式添加到功能区、日程安排和其他控件... 我们痴迷于控制性能和像素级细节。我们很自豪地说&…

DotNetBar SuperGridControl控件

1.添加表头 sgc.PrimaryGrid.SelectionGranularity SelectionGranularity.Row;//点击选中一行DevComponents.DotNetBar.SuperGrid.GridColumn gc null;gc new DevComponents.DotNetBar.SuperGrid.GridColumn("ID");sgc.PrimaryGrid.Columns.Add(gc);gc new DevCo…

DotNetBar第三方控件详解

DotNetBar是一款性价比很强的界面控件&#xff0c;带有56个Windows Form 控件的工具箱&#xff0c;使开发人员可以轻而易举地创建出专业美观的Windows Form应用程序用户界面&#xff0c;控件全部采用C#编写&#xff0c;引入了全部Office 2007 style Ribbon控件、Office 2003 of…

C#界面控件DotNetBar使用详解

一般来说&#xff0c;运用传统的界面控件元素&#xff0c;合理设计布局&#xff0c;能够设计出比较中规中矩的标准界面&#xff1b;利用一些换肤的控件或者部分界面组件&#xff0c;能够设计出相对好看一些的界面效果&#xff0c;如以前很盛行的ActiveSkin、IrisSkin和DotNetSk…

DotNetBar 14.1.X 安装+源码=不错选择

DotNetBar官方版是一款功能强大的UI桌面控件套包&#xff0c;能为用户提供了海量的控件&#xff0c;能够完美兼容Visual Studio 2005-2019等版本&#xff0c;为用户的开发工作提供了帮助。软件提供了工具栏、滑动面板、功能区超级菜单等功能&#xff0c;满足用户的各种开发控件…

DotNetBar教程

DotNetBar是一组用于.NET Framework环境下的一组组件集&#xff0c;利用该组件集能够打造绚丽并且实用的应用程序界面&#xff0c;给开发人员提供极大的便利。关于DotNetBar&#xff0c;详情请参考其官方网站&#xff1a;http://www.devcomponents.com 该组件集目前最新版本是8…

DotNetBar 介绍

DotNetBar是一款带有56个Windows Form 控件的工具箱&#xff0c;使开发人员可以轻而易举地创建出专业美观的Windows Form应用程序用户界面&#xff0c;控件全部采用C#编写&#xff0c;引入了全部Office 2007 style Ribbon控件、Office 2003 office2010 样式、支持windows7,Wind…

怎么用电脑设置让wifi变快

1.单击“开始——运行”&#xff08;也可用快捷键WinR&#xff09;打开&#xff0c;输入gpedit.msc确定后即可打开“组策略对象编辑器” 2.展依次点击“计算机配置→管理模板→网络→QoS数据包计划程序” 1&#xff0c;单击“开始——运行”&#xff08;也可用快捷键WinR&…

【wifi】一步提升无线网络上网速率

最近在做wifi芯片的干扰测试&#xff0c;测试项目包括同频干扰和邻频干扰。在实际测试中发现&#xff0c;同频干扰对无线网络的影响是相当大的&#xff0c;用chariot跑吞吐量&#xff0c;加两道干扰&#xff0c;没到干扰用chariot跑10条流&#xff0c;发现待测设备的吞吐量下降…