1、2. 实现上述两种效果的途径1) 将BalloonTip控件的“ShowBalloonOnFacus”属性设置为“False”即可实现效果一。3. 设置BalloonTip显示的内容2) 将“ShowBalloonOnFacus”属性设置为“True”,即可实现效果二。1) 在欲设置该属性的控件的“BalloonTipOnFocus上的BalloonCaption”和“BalloonTipOnHover上的BalloonCaption”属性中,分别设置这两种效果的“标题”属性;2) 在“BalloonTipOnFocus上的BalloonText”和在“BalloonTipOnHover上的B
2、alloonText”属性中,分别设置这两种效果的“显示内容”的属性。4. 属性“AlerAnimation”设置“BalloonTip”出现的效果5. “BalloonTip”除了出现在该控件附近,还可以出现在屏幕的右下角,示例程序如下:private AlertCustom m_AlertOnLoad=null;m_AlertOnLoad=new AlertCustom();Rectangle r=Screen.GetWorkingArea(this);m_AlertOnLoad.Location=new Point(r.Right-m_AlertOnLoad.Width,r.Bottom
3、-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”除了可以通过“添加控件”的方式使用,也可以通过编程的方式使用,示例程序如下:De
4、vComponents.DotNetBar.Balloon b=new DevComponents.DotNetBar.Balloon();b.Style=eBallonStyle.Alert;b.CaptionImage=balloonTipFocus.CaptionImage.Clone() as Image;b.CaptionText=Balloon Status InFormation;b.Text=Balloons are now enabled for Balloon Tip Test area. Hover mouse over the area and set the focu
5、s to any control.b.AlertAnimation=eAlertAnimation.TopToBottom;b.AutoResize();b.AutoClose=true;b.AutoCloseTimeOut=4;b.Owner=this;/ 指示父控件b.Show(button2,false);/ button2指示在那个控件附近出现“BalloonTip”7. 还可以对“BalloonTip”出现时的效果进行程序控制,如下:/ BalloonTriggerControl property returns control that invoked balloon/ Ballo
6、onTriggerControl属性返回触发“BalloonTip”的控件if(balloonTipHover.BalloonTriggerControl=groupBox1) / BalloonControl is already prepared Balloon control that is just about to be displayed / Setting BalloonControl to null will cancel balloon display Point p=Control.MousePosition; / Adjust cursor position so cur
7、sor is below tipp.Offset(-balloonTipHover.BalloonControl.TipOffset,balloonTipHover.BalloonControl.TipLength+4);/Offset属性将点p进行平移 balloonTipHover.BalloonControl.Location=p;8. 与之类似的是DotNetToolTip所有控件都有的“ToolTip”属性,也可以是控件在鼠标划过时出现类似的东西,如下图:3、DotNetBarManager控件与Bar控件的使用示例效果如下图:1. DotNetBarManager控件 将该控件添加
8、到工程后,将给Bar控件提供了“停靠点(DockSite)”,可以实现工具栏在窗体的“上、下、左、右”摆放。 可以通过程序实现,也可以通过“属性页”的“Dock”属性进行设置。 bar.DockSide = eDockSide.Top;2. DotNetBarManager控件,通过右键菜单可以轻松实现如下图所示的布局。通过拖动也可以轻易的实现如下视图的布局与上图相应的代码:/ Create new document and add it to existing barDevComponents.DotNetBar.DockContainerItem DockItem=new DevCompo
9、nents.DotNetBar.DockContainerItem();DockItem.Text=Custom Document/ Add control to itTextBox t=new TextBox();t.Autosize=false;t.Multiline=true;t.Text=DockItem.Text;/ PanelDockContainer will be used to host any controls. It provides automatic focus management so focused/ document tab appears boldDevCo
10、mponents.DotNetBar.PanelDockContainer panel = new DevComponents.DotNetBar.PanelDockContainer();t.Dock = DockStyle.Fill;panel.Controls.Add(t);DockItem.Control=panel;bar1.Items.Add(DockItem);/添加第二个选项卡/*/DevComponents.DotNetBar.DockContainerItem DockItem1 = new DevComponents.DotNetBar.DockContainerItem
11、();DockItem1.Text = This is the second!Label l = new Label();l.Text = DockItem1.Text;DevComponents.DotNetBar.PanelDockContainer panel1 = new DevComponents.DotNetBar.PanelDockContainer();l.Dock = DockStyle.Fill;panel1.Controls.Add(l);DockItem1.Control = panel1;bar1.Items.Add(DockItem1);if(!bar1.Visib
12、le)bar1.Visible=true;elsebar1.RecalcLayout();/ Optimize display by disabling layout for all Dock sitesdotNetBarManager1.SuspendLayout=true;tryforeach(DevComponents.DotNetBar.Bar bar in dotNetBarManager1.Bars)if(bar.DockSide=DevComponents.DotNetBar.eDockSide.Document)foreach(DevComponents.DotNetBar.D
13、ockContainerItem Dock in bar.Items)Dock.Visible=true;bar.Visible)bar.Visible=true;finallydotNetBarManager1.SuspendLayout=false;代码实现的界面如下图:3. 下面的代码通过编程的方式实现如下图所示的功能private void Form1_Load(object sender, System.EventArgs e)dotNetBarManager1.DockTabChange+=new DotNetBarManager.DockTabChangeEventHandler
14、(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(Bottom B
15、ar in auto-hide statebar.Name=bottomBarbar.LayoutType=eLayoutType.DockContainer; / 停靠容器布局需要可停靠窗口bar.Stretch=true; / 可停靠窗口拉伸至填补容器bar.AutoHideAnimationTime=0; / 一些控件不支持动画所以关掉它bar.GrabHandleStyle=eGrabHandleStyle.Caption; / 可停靠窗口有标题dotNetBarManager1.Bars.Add(bar); / DotNetBar需要添加bar以便能管理它的停靠等/ 创建托管控件Do
16、ckContainerItem DockItem=new DockContainerItem(bottomDockItem1,First Dock itembar.Items.Add(DockItem);/ 创建我们想放在可停靠窗口的控件UserControl1 DockedControl=new UserControl1();DockedControl.label1.Text=bar.Name+ - +DockItem.Text;DockedControl.BackColor=Color.Azure;DockItem.Control=DockedControl; / 指定该控件是托管在停靠容
17、器上DockItem.Height=128; / 指定可停靠容器的高度和同一时间控制/ 创建第二个停靠容器并添加到Bar中DockItem=new DockContainerItem(bottomDockItem2Second Dock itemDockedControl=new UserControl1();DockedControl.BackColor=Color.Aquamarine;/ 将Bar停靠到下面的停靠位置dotNetBarManager1.BottomDockSite.GetDocumentUIManager().Dock(bar);bar.RecalcLayout(); /
18、 适用所有的变化.bar.AutoHide=true; / 将Bar置为自动隐藏模式。Bar需要停靠的地方,才能置为自动隐藏模式private void CreateLeftDockedBars()/ 将前两个Bar并排停靠并将第三个Bar停靠在他们之后.Bar1leftBar1bar.CanHide=true;/ 为Bar创建DockContainerItem,该项应该在Bar停靠前添加leftDockItem1Top Left Dock ContainerDockedControl.BackColor=Color.Khaki;dotNetBarManager1.LeftDockSite.G
19、etDocumentUIManager().Dock(bar); / 将Bar停靠到左边的可停靠位置DockItem.Width=128; / 在停靠之后指定停靠容器项的宽度/ 创建第二个Bar并将它停靠低于第一个Bar但仍在同一行Bar bar2=new Bar(Bar2bar2.Name=leftBar2bar2.LayoutType=eLayoutType.DockContainer;bar2.AutoHideAnimationTime=0;bar2.Stretch=true;bar2.CanHide=true;bar2.GrabHandleStyle=eGrabHandleStyle.
20、Caption;/ 添加新的停靠容器到Bar上,应该在添加Bar之前执行以便大小可以计算正确leftDockItem2Bottom Left Dock Containerbar2.Items.Add(DockItem);DockedControl.BackColor=Color.Lavender;dotNetBarManager1.Bars.Add(bar2); / DotNetBar需要添加bar以便能管理它的停靠等 dotNetBarManager1.LeftDockSite.GetDocumentUIManager().Dock(bar, bar2, eDockSide.Bottom);
21、 / 停靠新bar2低于我们先前创建的Bar/ 创建第三个Bar,停靠在第一个和第二个之后/ i.e. on the line 1bar=new Bar(Bar3leftBar3leftDockItem3Left Dock Container line 1DockedControl.BackColor=Color.LemonChiffon;/ 设置停靠点的宽度并将bars按比例停靠在里面/ 但是这个尺寸应该大到足以容纳所有的Bar包括约束像MinimumSize等等dotNetBarManager1.LeftDockSite.Width = 150;BaseItem:定义了DotNetBar使
22、用的项的基类示例:BaseItem item = sender as BaseItem;4. 添加“菜单项“也可以通过两种方式实现1) “可视化“的方式在“设计器“里可以通过”右键“来实现;2) 程序的方法private void CreateBar() /创建Bar Bar bar=new Bar(Standard bar.CanHide=true; bar.Style=eDotNetBarStyle.Office2003; bar.GrabHandleStyle=eGrabHandleStyle.StripeFlat; bar.WrapItemsDock=true; bar.WrapIte
23、msFloat=false; / 向Bar内添加项 ButtonItem item, fileItem; / 添加新建菜单 item=new ButtonItem(bNewitem.ImageIndex=0; / item.Image = imageList1.Images0;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
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1