devexpress控件学习总结z.docx
- 文档编号:29986013
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:32
- 大小:26.99KB
devexpress控件学习总结z.docx
《devexpress控件学习总结z.docx》由会员分享,可在线阅读,更多相关《devexpress控件学习总结z.docx(32页珍藏版)》请在冰豆网上搜索。
devexpress控件学习总结z
devexpress控件学习总结z
1、Navigation&Layout
1.1BarManager
如果想在窗体或用户控件(usercontrol)上添加工具条(bars)或弹出菜单(popupmenus),我们需要把一个不可见的控件(component)BarManager(Navigation&Layout)拖放到这个窗体或用户控件上。
这个控件维护工具条在窗体上的布局,处理用户的行为(processesanend-user'sactions),提供一些定制功能等等。
这个控件维护工具条、工具条项、工具条项目录这三者的集合(Itmaintainsthecollectionsofbars,baritemsandbaritemcategories.)。
所以我们可以使用barmanager的一些方法去添加、删除、访问这些工具条元素。
注意:
1)一个窗体上只能放置一个barmanager控件。
2)由于BarManager控件与RibbonControl控件可能会彼此冲突,所以不推荐在同一个窗体或用户控件上同时使用工具条和Ribbon控件。
当把BarManager添加到一个窗体或用户控件上后,我们就可以使用上下文菜单(contextmenus)、barmanager的定制窗口或它的设计器来创建工具条和工具条命令(barcommands)了。
相关控件属性
1.1.2、Toolbars
工具条是一个可视的控件,它用来显示各个项目链接。
我们可以在工具条内显示由XtraBars库提供的任意项目链接,比如:
按钮(buttons),静态文本(statictext),子菜单(submenu)、编辑器(editors)等等。
1.1.3、BarItems
为了把多种元素(比如按钮,子菜单,标签,编辑器等)添加到工具条和菜单,我们需要创建合适的baritems。
一个baritem是一个实现了特定功能的非可见对象。
它定义了一个相应的元素如何显示在屏幕上,并决定了对鼠标单击事件的相应。
我们可以使用barmanager的Customize窗体上的Commands页来创建baritems。
为了在逻辑上组织这些item,我们经常将它们分类。
该窗体的左侧面板里显示了有效的目录,右侧面板显示了属于当前选中目录的各个baritem。
选中一个baritem可以在属性窗口看到其属性。
1.1.4、PopupMenus
使用弹出菜单(popupmenus),我们可以在控件上显示上下文选项或命令。
弹出菜单是一个显示了特定项的窗体,用户可以选择这些项以执行相应的操作。
使用PopupMenu控件就可以在我们的应用程序中使用弹出菜单。
通过BarManager的“名称”+“上的PopupContenxtMenu”属性绑定PopuMenus控件
注意:
在定制和使用popupmenu之前,向窗体上添加一个barmanager并确保这个popupmenu绑定了这个barmanager。
默认情况下,在设计时(atdesigntime)添加到窗体的弹出菜单会自动地寻找窗体内的barmanager,
如果找到的话,会通过PopupMenu.Manager属性将其绑定到barmanager。
如果没有自动绑定到barmanager,那就通过PopupMenu.Manager属性手动绑定。
1.1.5、Categories
XtraBars允许我们将baritems在逻辑上划分为不同的类别(categories)。
每个类别都是一组item,并且每个item都只属于一个类别(category)。
类别不会对该类的item附加任何约束,分类只是为了对item进行有组织的访问。
用BarManagerCategory类表示一个类别。
我们通过BarManager.Categories集合来添加、移除、存取类别。
使用BarItem.Category属性,我们可以为每个item分配一个类别。
1.1.6、BarDockControls
工具条停放控件(bardockcontrols)是工具条(toolbar)的容器,它们位于窗体或用户控件内用以容纳工具条对象。
有regular和standalone两种工具条停放控件。
regularbardockcontrols是由BarManager自动维护的,我们不用手动去创建它们。
它们停靠在容器(比如窗体)的任意一边,以显示工具条。
BarManager中的StandaloneBarDockControl属性用来在窗体内的任何位置显示工具条。
我们需要手动绑定StandaloneBarDockControl控件
1.1.6.1RegularBarDockControls
当工具条停靠于容器(比如form)的任意一边时,regularbardockcontrols将工具条的停靠位置显示出来。
当创建BarManager时,它会自动创建4个regulardockcontrols,并将它们停靠在窗体的相应边缘。
只有当一个工具条停放在一个dockcontrol上时,这个dockcontrol才是可见的。
其他情况下,dockcontrol的宽度都是0。
当将工具条拖动到窗体的任意一边时,相应的dockcontrols会容纳并显示这个工具条。
Bar.CanDockStyle属性可以指定工具条的可能停放位置。
一般情况下,在应用程序中是没有必要去改变regulardockcontrols的属性的。
除非我们想要为停靠的工具条提供背景设置。
BarManager会自动创建名为barDockControl1...barDockControl4的4个dockcontrols。
每个dockcontrol都是一个BarDockControl类。
在设计时,我们通过在属性窗口选择相应的对象来访问dockcontrol。
此外,如果dockcontrol是可见的,并且没有完全被工具条覆盖,我们可以单击选中它,以在属性窗口中显示它。
1.1.6.2StandaloneBarDockControls
Standalonebardockcontrols允许工具条停靠在窗体或用户控件上的任意位置,而不仅仅是窗体的边缘。
创建一个StandaloneBarDockControl对象并且将工具条添加到其上就能做到这种效果。
像regularcontrol一样,standalonebardockcontrols可以在窗体或用户控件中随意放置。
它们的Dock、Location和Size属性用来指定布局设置。
StandaloneBarDockControl.AutoSize属性用来启用自动调整大小模式。
在这种模式下,当向该控件添加或删除工具条时,该控件的大小是自动变化的。
使用Standalonebardockcontrols的前提是该窗体或用户控件上已添加了BarManager控件。
如果我们以编码的方式创建了StandaloneBarDockControl对象,那么我们就需要手动将其添加到BarManager的BarManager.DockControls集合中。
1.2BarManager的使用
1.2.1ToolbarsCustomization
为了在窗体上创建bar和baritems,我们需要往窗体上添加一个BarManager控件。
1.2.1.1creatingbarsandbaritemsontheformatdesigntime
在设计时(atdesigntime),当把BarManager添加到窗体上后,会自动创建三个空工具条,分别是:
窗体顶部的主菜单栏、工具栏和窗体底部的状态栏。
主菜单栏通常是一个位于窗体顶部的工具条,其他的工具条不能和主菜单栏位于同一行。
终端用户也不能关闭主菜单栏。
默认情况下,用户可以拖拽主菜单栏,将其停靠至窗体的任意边缘。
主菜单栏被赋予至BarManager.MainMenu属性。
状态栏通常是一个位于窗体底部的工具条。
用户不能拖动该工具条。
BarManager.StatusBar属性赋值为该状态栏。
在一个窗体上只有一个主菜单和一个状态栏。
默认情况下,工具条上有[Add]上下文链接(contextlinks)。
通过该链接,我们可以将baritems添加到工具条上。
我们可以单击[Add]链接来激活baritem列表,然后从中选择需要的baritem。
选择一个item后,它即被添加到工具条上,同时文本编辑器也被激活。
在此文本编辑器里我们可以编辑新添加项的名字。
按Enter键来结束编辑和该项的添加。
如果我们要添加一个子菜单(submenu),那么先选择sub-menu以添加菜单项,然后再次单击它,并通过[Add]添加新的baritem。
若想在设计时隐藏[Add]上下文链接,右击BarManager控件,然后勾去“showdesigntimeenhancements"选项即可。
勾选这个选项,[Add]链接又会出现。
1.2.1.2creatingbarsandbaritemsusingthecustomizationwindow
右击鼠标,使用BarManager的Customization窗口是向窗体添加工具条和baritems的另一种方式。
1)ManipulateBars
切换到Customization窗口的Toolbars页,单击new,即可添加工具条。
选择工具条列表中的一个,点击delete,即可删除该工具条。
只有在运行时,Rename和Reset按钮才处于激活状态。
2)AddingBarItems
切换到Commands页,点击modify按钮,然后选择Add菜单项,AddNewBarItem对话框就会出现。
在该对话框里,我们可以指定该项的分类、名字、标题(caption)等。
当新的item创建后,我们就可以把它拖放到工具条上。
1.2.1.3creatingbarsusingthebarmanager'sdesigner
BarManager的设计器也是用来添加、删除、自定义设置工具条的一种方式。
切换到Toolbars页,单击AddNewToolbar和DeleteToolbar按钮即可创建或删除工具条。
1.2.1.4customizingitemsandlinksatdesigntime
在设计时,当你选择一个链接(link),它就会在属性窗口中显示相应item的设置;
如果改变这个item的外观设置(appearancesetting)就会影响到该item的所有属性没有显性设置的链接。
为了避免对这些链接造成影响,我们可以这样做:
在设计时,右击这个链接,通过弹出的菜单来改变设置。
选项描述
Reset重置该链接的所有自定义设置。
选中该选项后,这个链接的外观就会由相应item的外观设置控制。
也可在代码中,调用BarItemLink.Reset方法以
将其恢复到默认值。
Delete删除该链接。
调用BarItemLink.Dispose方法也可达到该目的。
ChangeCaption改变item的标题。
该值会应用于所有Usercaption没有设置的link。
这个选项对应于BarItemLink.Caption属性。
changeuser为某一link赋自定义标题,这样就覆盖了默认的item的标题。
Usercaption只赋值于当前的link。
该选项对应于BarItemLink.UserCaption。
caption
Defaultstyle为某link设置默认的样式。
每个link的的默认样式都可以是不同的。
使用BarItemLink.PaintStyle属性来在代码里设置paintstyle.
Textonly项目链接(itemlink)被绘制为文本。
(always)
Textonlyitemlink在菜单里被绘制为文本,在工具条里被绘制为图片。
(inmenus)
ImageandTextitemlink被绘制为图片和文本。
BeginaGroup在选中的link钱插入一分隔符,以将itemlinks逻辑分组。
该选项对应于BarItemLink.BeginGroup属性。
Visible决定一个itemlink是否可见。
该选项对应于BarItemLink.Visible属性。
Mostrecently决定一个item是否指向最经常使用的link。
勾选掉这个选项后,就会使该link位于最近使用项列表的底部。
该选项对应用
usedBarItemLink.MostRecentlyUsed属性。
1.2.1.5HowtoobtainavalueoftheBarEditItemduringediting
Objectvalue=(barManager1.ActiveEditorasDevExpress.XtraEditors.ButtonEdit).EditValue;
1.3RibbonControl
1.3.1Howto:
CreateaRibbonControlinCode
例1、
usingDevExpress.XtraBars.Ribbon;
usingDevExpress.XtraBars;
//CreateaRibbonControl
RibbonControlRibbonControl=newRibbonControl();
this.Controls.Add(RibbonControl);
//Assigntheimagecollectionthatwillprovideimagesforbaritems.
RibbonControl.Images=imageCollection1;
//CreateaRibbonpage.
RibbonPagepage1=newRibbonPage("Home");
//CreateaRibbonpagegroup.
RibbonPageGroupgroup1=newRibbonPageGroup("File");
//CreateanotherRibbonpagegroup.
RibbonPageGroupgroup2=newRibbonPageGroup("File2");
//CreateabuttonitemusingtheCreateButtonmethod.
//ThecreateditemisautomaticallyaddedtotheitemcollectionoftheRibbonControl.
BarButtonItemitemOpen=RibbonControl.Items.CreateButton("Open...");
itemOpen.ImageIndex=7;
itemOpen.ItemClick+=newItemClickEventHandler(itemOpen_ItemClick);
//Createabuttonitemusingitsconstructor.
//TheconstructorautomaticallyaddsthecreateditemtotheRibbonControl'sitemcollection.
BarButtonItemitemClose=newBarButtonItem(RibbonControl.Manager,"Close");
itemClose.ImageIndex=12;
itemClose.ItemClick+=newItemClickEventHandler(itemClose_ItemClick);
//Createabuttonitemusingthedefaultconstructor.
BarButtonItemitemPrint=newBarButtonItem();
//ManuallyaddthecreateditemtotheitemcollectionoftheRibbonControl.
RibbonControl.Items.Add(itemPrint);
itemPrint.Caption="Print";
itemPrint.ImageIndex=9;
itemPrint.ItemClick+=newItemClickEventHandler(itemPrint_ItemClick);
//AddthecreateditemstothegroupusingtheAddRangemethod.
//Thismethodwillcreatebaritemlinksfortheitemsandthenaddthelinkstothegroup.
group1.ItemLinks.AddRange(newBarItem[]{itemOpen,itemClose,itemPrint});
//AddtheOpenbaritemtothesecondgroup.
group2.ItemLinks.Add(itemOpen);
//Addthecreatedgroupstothepage.
page1.Groups.Add(group1);
page1.Groups.Add(group2);
//AddthepagetotheRibbonControl.
RibbonControl.Pages.Add(page1);voiditemPrint_ItemClick(objectsender,ItemClickEventArgse){
//...
}
voiditemClose_ItemClick(objectsender,ItemClickEventArgse){
//...
}
voiditemOpen_ItemClick(objectsender,ItemClickEventArgse){
}
1.3.1其他操作
1、如何显示选中的页
ribbonControl1.SelectedPage=ribbonPage2;
2、如何绑定ApplicationMenus和PopupMenu:
通过ribbonControl上的PopuContextMenu进行绑定;
1.4GalleryContral
控件可显示图像,同时让你将它们分类。
效果图:
例1:
usingDevExpress.XtraBars.Ribbon;
usingDevExpress.Utils;
usingDevExpress.Utils.Drawing;
GalleryControlgc=newGalleryControl();
gc.Dock=DockStyle.Fill;
this.Controls.Add(gc);
Imageim1=Image.FromFile("c:
\\Images\\BMW.jpg");
Imageim2=Image.FromFile("c:
\\Images\\Ford.jpg");
Imageim3=Image.FromFile("c:
\\Images\\MercedecBenz.jpg");
Imageim4=Image.FromFile("c:
\\Images\\AnneDodsworth.jpg");
Imageim5=Image.FromFile("c:
\\Images\\HannaMoos.jpg");
Imageim6=Image.FromFile("c:
\\Images\\JanetLeverling.jpg");
gc.Gallery.ItemImageLayout=ImageLayoutMode.ZoomInside;
gc.Gallery.ImageSize=newSize(120,90);
gc.Gallery.ShowItemText=true;
GalleryItemGroupgroup1=newGalleryItemGroup();
group1.Caption="Cars";
gc.Gallery.Groups.Add(group1);
GalleryItemGroupgroup2=newGalleryItemGroup();
group2.Caption="People";
gc.Gallery.Groups.Add(group2);
group1.Items.Add(newGalleryItem(im1,"BMW",""));
group1.Items.Add(newGalleryItem(im2,"Ford",""));
group1.Items.Add(newGalleryItem(im3,"Mercedec-Benz",""));
group2.Items.Add(newGalleryItem(im4,"AnneDodsworth",""));
group2.Items.Add(newGalleryItem(im5,"HannaMoos",""));
group2.Items.Add(newGalleryItem(im6,"JanetLeverling",""));
1.4GroupControl控件
实现效果如图:
该控件的ShowCaption属性,是bool类型,当其值为false时,表示不显示标题;
该控件的CaptionImage属性可以设置标题前的图片显示,例如:
this.groupControl1.CaptionImage=global:
:
WindowsDev.Properties.Resources.additem_32x32;
该控件的LookAndFeel属性下的UseDefaultLookAndFeel属性控制是否可以对党情的皮肤进行设置,为bool类型;
该控件的BorderStyle属性控制控件的边框样式:
如第一个图的效果代码如下:
groupControl1.BackColor=Color.LightGray;
groupControl1.LookAndFeel.UseDefaultLookAndFeel=false;
groupControl1.ShowCaption=true;
groupControl1.BorderStyle=DevExpres
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- devexpress 控件 学习 总结