DotNetBar第三方控件使用笔记(2)

2019-08-31 12:30

}

finally {

dotNetBarManager1.SuspendLayout=false; }

代码实现的界面如下图:

下面的代码通过编程的方式实现如下图所示的功能

private void Form1_Load(object sender, System.EventArgs e) {

dotNetBarManager1.DockTabChange+=new DotNetBarManager.DockTabChangeEventHandler(this.DockTabChanged);

CreateBottomBarAutoHide(); CreateLeftDockedBars(); }

private void DockTabChanged(object sender, DockTabChangeEventArgs e) {

// 使Bar的标题与当前停靠选项卡同步 Bar bar=sender as Bar;

if(bar==null || e.NewTab==null)

return;

bar.Text=e.NewTab.Text; }

private void CreateBottomBarAutoHide() {

Bar bar=new Bar(\Bar in auto-hide state\); bar.Name=\;

bar.LayoutType=eLayoutType.DockContainer; // 停靠容器布局需要可停靠窗口 bar.Stretch=true; // 可停靠窗口拉伸至填补容器

bar.AutoHideAnimationTime=0; // 一些控件不支持动画所以关掉它

bar.GrabHandleStyle=eGrabHandleStyle.Caption; // 可停靠窗口有标题

dotNetBarManager1.Bars.Add(bar); // DotNetBar需要添加bar以便能管理它的停靠等

// 创建托管控件

DockContainerItem DockItem=new DockContainerItem(\,\Dock item\);

bar.Items.Add(DockItem);

// 创建我们想放在可停靠窗口的控件

UserControl1 DockedControl=new UserControl1();

DockedControl.label1.Text=bar.Name+\- \+DockItem.Text; DockedControl.BackColor=Color.Azure;

DockItem.Control=DockedControl; // 指定该控件是托管在停靠容器上 DockItem.Height=128; // 指定可停靠容器的高度和同一时间控制

// 创建第二个停靠容器并添加到Bar中

DockItem=new DockContainerItem(\,\Dock item\); bar.Items.Add(DockItem);

DockedControl=new UserControl1();

DockedControl.label1.Text=bar.Name+\- \+DockItem.Text; DockedControl.BackColor=Color.Aquamarine;

DockItem.Control=DockedControl; // 指定该控件是托管在停靠容器上

// 将Bar停靠到下面的停靠位置

dotNetBarManager1.BottomDockSite.GetDocumentUIManager().Dock(bar); DockItem.Height=128; // 指定可停靠容器的高度和同一时间控制

bar.RecalcLayout(); // 适用所有的变化...

bar.AutoHide=true; // 将Bar置为自动隐藏模式。Bar需要停靠的地方,才能置为自动隐藏模式 }

private void CreateLeftDockedBars() {

// 将前两个Bar并排停靠并将第三个Bar停靠在他们之后... Bar bar=new Bar(\); bar.Name=\;

bar.LayoutType=eLayoutType.DockContainer; // 停靠容器布局需要可停靠窗口 bar.Stretch=true; // 可停靠窗口拉伸至填补容器

bar.AutoHideAnimationTime=0; // 一些控件不支持动画所以关掉它

bar.GrabHandleStyle=eGrabHandleStyle.Caption; // 可停靠窗口有标题 bar.CanHide=true;

// 为Bar创建DockContainerItem,该项应该在Bar停靠前添加

DockContainerItem DockItem=new DockContainerItem(\,\Left Dock Container\);

bar.Items.Add(DockItem);

// 创建我们想放在可停靠窗口的控件

UserControl1 DockedControl=new UserControl1();

DockedControl.label1.Text=bar.Name+\- \+DockItem.Text; DockedControl.BackColor=Color.Khaki;

DockItem.Control=DockedControl; // 指定该控件是托管在停靠容器上

dotNetBarManager1.Bars.Add(bar); // DotNetBar需要添加bar以便能管理它的停靠等 dotNetBarManager1.LeftDockSite.GetDocumentUIManager().Dock(bar); // 将Bar停靠到左边的可停靠位置

DockItem.Width=128; // 在停靠之后指定停靠容器项的宽度

// 创建第二个Bar并将它停靠低于第一个Bar但仍在同一行 Bar bar2=new Bar(\); bar2.Name=\;

bar2.LayoutType=eLayoutType.DockContainer; // 停靠容器布局需要可停靠窗口 bar2.AutoHideAnimationTime=0; // 一些控件不支持动画所以关掉它 bar2.Stretch=true; // 可停靠窗口拉伸至填补容器 bar2.CanHide=true;

bar2.GrabHandleStyle=eGrabHandleStyle.Caption; // 可停靠窗口有标题 // 添加新的停靠容器到Bar上,应该在添加Bar之前执行以便大小可以计算正确

DockItem=new DockContainerItem(\,\Left Dock Container\);

bar2.Items.Add(DockItem);

// 创建我们想放在可停靠窗口的控件 DockedControl=new UserControl1();

DockedControl.label1.Text=bar.Name+\- \+DockItem.Text; DockedControl.BackColor=Color.Lavender;

DockItem.Control=DockedControl; // 指定该控件是托管在停靠容器上

dotNetBarManager1.Bars.Add(bar2); // DotNetBar需要添加bar以便能管理它的停靠等

dotNetBarManager1.LeftDockSite.GetDocumentUIManager().Dock(bar, bar2, eDockSide.Bottom); // 停靠新bar2低于我们先前创建的Bar

// 创建第三个Bar,停靠在第一个和第二个之后 // i.e. on the line 1 bar=new Bar(\); bar.Name=\;

bar.LayoutType=eLayoutType.DockContainer; // 停靠容器布局需要可停靠窗口 bar.AutoHideAnimationTime=0; // 一些控件不支持动画所以关掉它 bar.Stretch=true; // 可停靠窗口拉伸至填补容器 bar.CanHide=true;

bar.GrabHandleStyle=eGrabHandleStyle.Caption; // 可停靠窗口有标题

DockItem=new DockContainerItem(\,\Dock Container line 1\); bar.Items.Add(DockItem);

// 创建我们想放在可停靠窗口的控件 DockedControl=new UserControl1();

DockedControl.label1.Text=bar.Name+\- \+DockItem.Text; DockedControl.BackColor=Color.LemonChiffon;

DockItem.Control=DockedControl; // 指定该控件是托管在停靠容器上

dotNetBarManager1.Bars.Add(bar); // DotNetBar需要添加bar以便能管理它的停靠等

dotNetBarManager1.LeftDockSite.GetDocumentUIManager().Dock(bar);

// 设置停靠点的宽度并将bars按比例停靠在里面

// 但是这个尺寸应该大到足以容纳所有的Bar包括约束像MinimumSize等等 dotNetBarManager1.LeftDockSite.Width = 150; }

BaseItem::定义了DotNetBar使用的项的基类 示例:

BaseItem item = sender as BaseItem;

添加“菜单项“也可以通过两种方式实现 “可视化“的方式

在“设计器“里可以通过”右键“来实现; 程序的方法

private void CreateBar() { //创建Bar Bar bar=new Bar(\); bar.CanHide=true; bar.Style=eDotNetBarStyle.Office2003; bar.GrabHandleStyle=eGrabHandleStyle.StripeFlat; bar.WrapItemsDock=true; bar.WrapItemsFloat=false; // 向Bar内添加项 ButtonItem item, fileItem; // 添加新建菜单 item=new ButtonItem(\);

item.ImageIndex=0; // item.Image = imageList1.Images[0];

item.Text=\; item.Shortcuts.Add(eShortcut.CtrlN); item.Category=\; bar.Items.Add(item); m_DotNetBar.Items.Add(item.Copy()); // 这将创建类别条目 // 添加打开菜单 item=new ButtonItem(\); item.ImageIndex=1; item.Text=\; item.Shortcuts.Add(eShortcut.CtrlO); item.Category=\; bar.Items.Add(item); m_DotNetBar.Items.Add(item.Copy()); // 添加子菜单项到打开菜单,例如最近使用的文件之类的东西 fileItem=new ButtonItem(\); fileItem.Text=\File1.txt\; item.SubItems.Add(fileItem); fileItem=new ButtonItem(\); fileItem.Text=\File2.txt\; item.SubItems.Add(fileItem); fileItem=new ButtonItem(\); fileItem.Text=\File3.txt\; item.SubItems.Add(fileItem); fileItem=new ButtonItem(\); fileItem.Text=\File4.txt\; item.SubItems.Add(fileItem);


DotNetBar第三方控件使用笔记(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高起专-2017网络教育英语一(2)考试试题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: