DotNetBar控件,superTabControl多文档界面(MDI)的风格、多Tab的创建方法

最近在做一个条码系统的项目,第一次用dotnetbar控件,,查找资料时看到伍老师一篇文章(链接),但是没有关于加载tab窗口的方法,自己摸索做了一个此类风格出来,并写了一个通用方法,供大家参考。

风格如下:

 

 

一、使用superTabControl控件,设置其属性,第一个属性为显示关闭按钮,第二个属性设置铺满父控件(如果你在使用ribbon风格的菜单栏一定不要忘记设置,否则ribbon添加自定义按钮或最小化时可能会被遮挡或留白)

 

二、在开始添加tab时,我是手动添加tab到superTabControl中,以为点击tab关闭时只是将此tab隐藏,打开时再显示就行了。但实际不可行,因为关闭后此tab实际上已经被释放掉了,无法恢复到原状态。这里我使用的方法是讲功能界面做成单独子窗体,在点击某功能时创建Tab,然后将子窗体加载到此Tab中。

  1、添加一个window,放好基本控件,设置窗体FormBorderStyle为none隐藏边框和窗体标题,

 

 2、关键方法:设置Tab显示。

第一个参数为tab名称,对应功能菜单名称,

第二个参数为子window的控件Name。 

 1         private void SetTabShow(string tabName,string sfrmName) {
 2             bool isOpen = false;
 3             foreach (SuperTabItem item in superTabCtrMain.Tabs)
 4             {
 5                 //已打开
 6                 if (item.Name == tabName) { 
 7                     superTabCtrMain.SelectedTab = item;
 8                     isOpen = true;
 9                     break;
10                 }
11             }
12             if (!isOpen) {
13                 //反射取得子窗体对象。
14                 object obj = Assembly.GetExecutingAssembly().CreateInstance("BarCodeSys.subWindows." + sfrmName, false);
15                 //需要强转
16                 Form form = (Form)obj;
17                 //设置该子窗体不为顶级窗体,否则不能加入到别的控件中
18                 form.TopLevel = false;
19                 form.Visible = true;
20                 //布满父控件
21                 form.Dock = DockStyle.Fill;
22                 //创建一个tab
23                 SuperTabItem item = superTabCtrMain.CreateTab(tabName);
24                 //设置显示名和控件名
25                 item.Text = tabName;
26                 item.Name = tabName;
27                 //将子窗体添加到Tab中
28                 item.AttachedControl.Controls.Add(form);
29                 //选择该子窗体。
30                 superTabCtrMain.SelectedTab = item;
31             }
32         }

 

三、调用实现

 

转载于:https://www.cnblogs.com/vice/p/6979508.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DotNetBar 中的日历控件是一个功能强大的 Windows 窗体控件,可以用于显示和选择日期。它具有丰富的功能和灵活的配置选项,可以满足各种需求。 下面是一些常用的功能和配置选项: - 显示日期:日历控件可以显示一个月的日期,也可以显示一年的日期。 - 选择日期:用户可以通过单击日期来选择一个日期。 - 自定义外观:可以设置日历控件的外观,包括颜色、字体、边框、样式等。 - 高级设置:可以设置日历控件的各种属性,例如选择范围、日期格式、日期范围、日期选择模式等。 除了以上常用功能和配置选项外,日历控件还支持其他一些高级功能,例如: - 显示多个月份,可以设置每个月份的显示顺序和样式。 - 支持农历和公历显示,可以设置显示方式和样式。 - 具有弹出式菜单模式,可以在需要的时候弹出日历控件。 下面是一个简单的示例代码,演示如何在窗体中使用日历控件: ```csharp // 创建日历控件对象 DotNetBar.Controls.CalendarView calendarView = new DotNetBar.Controls.CalendarView(); // 设置日历控件大小和位置 calendarView.Location = new Point(10, 10); calendarView.Size = new Size(200, 200); // 添加日历控件到窗体中 this.Controls.Add(calendarView); ``` 通过以上代码,就可以在窗体中添加一个简单的日历控件了。需要注意的是,这只是一个最基本的示例,实际使用中可能需要根据具体需求进行更复杂的配置和操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值