DotNetBar第三方控件使用笔记Word文件下载.docx
《DotNetBar第三方控件使用笔记Word文件下载.docx》由会员分享,可在线阅读,更多相关《DotNetBar第三方控件使用笔记Word文件下载.docx(103页珍藏版)》请在冰豆网上搜索。
2.实现上述两种效果的途径
1)将BalloonTip控件的“ShowBalloonOnFacus”属性设置为“False”即可实现效果一。
3.设置BalloonTip显示的内容
2)将“ShowBalloonOnFacus”属性设置为“True”,即可实现效果二。
1)在欲设置该属性的控件的“BalloonTipOnFocus上的BalloonCaption”和“BalloonTipOnHover上的BalloonCaption”属性中,分别设置这两种效果的“标题”属性;
2)在“BalloonTipOnFocus上的BalloonText”和在“BalloonTipOnHover上的BalloonText”属性中,分别设置这两种效果的“显示内容”的属性。
4.属性“AlerAnimation”设置“BalloonTip”出现的效果
5.“BalloonTip”除了出现在该控件附近,还可以出现在屏幕的右下角,示例程序如下:
privateAlertCustomm_AlertOnLoad=null;
m_AlertOnLoad=newAlertCustom();
Rectangler=Screen.GetWorkingArea(this);
m_AlertOnLoad.Location=newPoint(r.Right-m_AlertOnLoad.Width,r.Bottom-m_AlertOnLoad.Height);
m_AlertOnLoad.AutoClose=true;
m_AlertOnLoad.AutoCloseTimeOut=15;
m_AlertOnLoad.AlertAnimation=eAlertAnimation.BottomToTop;
m_AlertOnLoad.AlertAnimationDuration=300;
m_AlertOnLoad.Show(false);
//false指示该控件是否需要获得焦点才出现“BalloonTip”
6.“BalloonTip”除了可以通过“添加控件”的方式使用,也可以通过编程的方式使用,示例程序如下:
DevComponents.DotNetBar.Balloonb=newDevComponents.DotNetBar.Balloon();
b.Style=eBallonStyle.Alert;
b.CaptionImage=balloonTipFocus.CaptionImage.Clone()asImage;
b.CaptionText="
BalloonStatusInFormation"
;
b.Text="
BalloonsarenowenabledforBalloonTipTestarea.Hovermouseovertheareaandsetthefocustoanycontrol."
b.AlertAnimation=eAlertAnimation.TopToBottom;
b.AutoResize();
b.AutoClose=true;
b.AutoCloseTimeOut=4;
b.Owner=this;
//指示父控件
b.Show(button2,false);
//button2指示在那个控件附近出现“BalloonTip”
7.还可以对“BalloonTip”出现时的效果进行程序控制,如下:
//BalloonTriggerControlpropertyreturnscontrolthatinvokedballoon
//BalloonTriggerControl属性返回触发“BalloonTip”的控件
if(balloonTipHover.BalloonTriggerControl==groupBox1)
{
//BalloonControlisalreadypreparedBallooncontrolthatisjustabouttobedisplayed
//SettingBalloonControltonullwillcancelballoondisplay
Pointp=Control.MousePosition;
//Adjustcursorpositionsocursorisbelowtip
p.Offset(-balloonTipHover.BalloonControl.TipOffset,balloonTipHover.BalloonControl.TipLength+4);
//Offset属性将点p进行平移
balloonTipHover.BalloonControl.Location=p;
}
8.与之类似的是DotNetToolTip所有控件都有的“ToolTip”属性,也可以是控件在鼠标划过时出现类似的东西,如下图:
3、DotNetBarManager控件与Bar控件的使用
示例效果如下图:
1.DotNetBarManager控件
将该控件添加到工程后,将给Bar控件提供了“停靠点(DockSite)”,可以实现工具栏在窗体的“上、下、左、右”摆放。
可以通过程序实现,也可以通过“属性页”的“Dock”属性进行设置。
bar.DockSide=eDockSide.Top;
2.DotNetBarManager控件,通过右键菜单
可以轻松实现如下图所示的布局。
通过拖动也可以轻易的实现如下视图的布局
与上图相应的代码:
//Createnewdocumentandaddittoexistingbar
DevComponents.DotNetBar.DockContainerItemDockItem=newDevComponents.DotNetBar.DockContainerItem();
DockItem.Text="
CustomDocument"
//Addcontroltoit
TextBoxt=newTextBox();
t.Autosize=false;
t.Multiline=true;
t.Text=DockItem.Text;
//PanelDockContainerwillbeusedtohostanycontrols.Itprovidesautomaticfocusmanagementsofocused
//documenttabappearsbold
DevComponents.DotNetBar.PanelDockContainerpanel=newDevComponents.DotNetBar.PanelDockContainer();
t.Dock=DockStyle.Fill;
panel.Controls.Add(t);
DockItem.Control=panel;
bar1.Items.Add(DockItem);
//添加第二个选项卡
/****************************************************************************************************/
DevComponents.DotNetBar.DockContainerItemDockItem1=newDevComponents.DotNetBar.DockContainerItem();
DockItem1.Text="
Thisisthesecond!
Labell=newLabel();
l.Text=DockItem1.Text;
DevComponents.DotNetBar.PanelDockContainerpanel1=newDevComponents.DotNetBar.PanelDockContainer();
l.Dock=DockStyle.Fill;
panel1.Controls.Add(l);
DockItem1.Control=panel1;
bar1.Items.Add(DockItem1);
if(!
bar1.Visible)
bar1.Visible=true;
else
bar1.RecalcLayout();
//OptimizedisplaybydisablinglayoutforallDocksites
dotNetBarManager1.SuspendLayout=true;
try
foreach(DevComponents.DotNetBar.BarbarindotNetBarManager1.Bars)
if(bar.DockSide==DevComponents.DotNetBar.eDockSide.Document)
foreach(DevComponents.DotNetBar.DockContainerItemDockinbar.Items)
Dock.Visible=true;
bar.Visible)
bar.Visible=true;
finally
dotNetBarManager1.SuspendLayout=false;
代码实现的界面如下图:
3.下面的代码通过编程的方式实现如下图所示的功能
privatevoidForm1_Load(objectsender,System.EventArgse)
dotNetBarManager1.DockTabChange+=newDotNetBarManager.DockTabChangeEventHandler(this.DockTabChanged);
CreateBottomBarAutoHide();
CreateLeftDockedBars();
privatevoidDockTabChanged(objectsender,DockTabChangeEventArgse)
//使Bar的标题与当前停靠选项卡同步
Barbar=senderasBar;
if(bar==null||e.NewTab==null)
return;
bar.Text=e.NewTab.Text;
privatevoidCreateBottomBarAutoHide()
Barbar=newBar("
BottomBarinauto-hidestate"
bar.Name="
bottomBar"
bar.LayoutType=eLayoutType.DockContainer;
//停靠容器布局需要可停靠窗口
bar.Stretch=true;
//可停靠窗口拉伸至填补容器
bar.AutoHideAnimationTime=0;
//一些控件不支持动画所以关掉它
bar.GrabHandleStyle=eGrabHandleStyle.Caption;
//可停靠窗口有标题
dotNetBarManager1.Bars.Add(bar);
//DotNetBar需要添加bar以便能管理它的停靠等
//创建托管控件
DockContainerItemDockItem=newDockContainerItem("
bottomDockItem1"
,"
FirstDockitem"
bar.Items.Add(DockItem);
//创建我们想放在可停靠窗口的控件
UserControl1DockedControl=newUserControl1();
DockedControl.label1.Text=bar.Name+"
-"
+DockItem.Text;
DockedControl.BackColor=Color.Azure;
DockItem.Control=DockedControl;
//指定该控件是托管在停靠容器上
DockItem.Height=128;
//指定可停靠容器的高度和同一时间控制
//创建第二个停靠容器并添加到Bar中
DockItem=newDockContainerItem("
bottomDockItem2"
SecondDockitem"
DockedControl=newUserControl1();
DockedControl.BackColor=Color.Aquamarine;
//将Bar停靠到下面的停靠位置
dotNetBarManager1.BottomDockSite.GetDocumentUIManager().Dock(bar);
bar.RecalcLayout();
//适用所有的变化...
bar.AutoHide=true;
//将Bar置为自动隐藏模式。
Bar需要停靠的地方,才能置为自动隐藏模式
privatevoidCreateLeftDockedBars()
//将前两个Bar并排停靠并将第三个Bar停靠在他们之后...
Bar1"
leftBar1"
bar.CanHide=true;
//为Bar创建DockContainerItem,该项应该在Bar停靠前添加
leftDockItem1"
TopLeftDockContainer"
DockedControl.BackColor=Color.Khaki;
dotNetBarManager1.LeftDockSite.GetDocumentUIManager().Dock(bar);
//将Bar停靠到左边的可停靠位置
DockItem.Width=128;
//在停靠之后指定停靠容器项的宽度
//创建第二个Bar并将它停靠低于第一个Bar但仍在同一行
Barbar2=newBar("
Bar2"
bar2.Name="
leftBar2"
bar2.LayoutType=eLayoutType.DockContainer;
bar2.AutoHideAnimationTime=0;
bar2.Stretch=true;
bar2.CanHide=true;
bar2.GrabHandleStyle=eGrabHandleStyle.Caption;
//添加新的停靠容器到Bar上,应该在添加Bar之前执行以便大小可以计算正确
leftDockItem2"
BottomLeftDockContainer"
bar2.Items.Add(DockItem);
DockedControl.BackColor=Color.Lavender;
dotNetBarManager1.Bars.Add(bar2);
//DotNetBar需要添加bar以便能管理它的停靠等
dotNetBarManager1.LeftDockSite.GetDocumentUIManager().Dock(bar,bar2,eDockSide.Bottom);
//停靠新bar2低于我们先前创建的Bar
//创建第三个Bar,停靠在第一个和第二个之后
//i.e.ontheline1
bar=newBar("
Bar3"
leftBar3"
leftDockItem3"
LeftDockContainerline1"
DockedControl.BackColor=Color.LemonChiffon;
//设置停靠点的宽度并将bars按比例停靠在里面
//但是这个尺寸应该大到足以容纳所有的Bar包括约束像MinimumSize等等
dotNetBarManager1.LeftDockSite.Width=150;
BaseItem:
:
定义了DotNetBar使用的项的基类
示例:
BaseItemitem=senderasBaseItem;
4.添加“菜单项“也可以通过两种方式实现
1)“可视化“的方式
在“设计器“里可以通过”右键“来实现;
2)程序的方法
privatevoidCreateBar()
//创建Bar
Barbar=newBar("
Standard"
bar.CanHide=true;
bar.Style=eDotNetBarStyle.Office2003;
bar.GrabHandleStyle=eGrabHandleStyle.StripeFlat;
bar.WrapItemsDock=true;
bar.WrapItemsFloat=false;
//向Bar内添加项
ButtonItemitem,fileItem;
//添加新建菜单
item=newButtonItem("
bNew"
item.ImageIndex=0;
//item.Image=imageList1.Images[0];
item.Text="
&
New"
item.Shortcuts.Add(eShortcut.CtrlN);
item.Category="
bar.Items.Add(item);
m_DotNetBar.Items.Add(item.Copy());
//这将创建类别条目
//添加打开菜单
bOpen"
item.ImageIndex=1;
item.Text="
Open"
item.Shortcuts.Add(eShortcut.CtrlO);
bar.Items.Add