DevExpress控件之主题
DevExpress控件学习
![DevExpress控件学习](https://img.taocdn.com/s3/m/a737e86ef11dc281e53a580216fc700aba68527c.png)
DevExpress控件学习DevExpress控件是使用广泛的商业UI控件套件,它使开发人员能够快速而简单地创建具有高度可视化的Win、Web和移动应用程序。
DevExpress提供了许多可定制化的控件,如表格、网格、图表、仪表等,来创建专业且高端的应用程序界面。
本文将会介绍DevExpress控件的主要功能和特性,以及在实际应用中如何使用这些控件来提高开发效率和增强应用程序的功能。
DevExpress控件概述DevExpress控件套件是一个强大的开发工具,可以帮助开发人员创建具有高度可视化的应用程序。
它在可视化和交互方面,是业内非常知名的UI控件套件之一。
DevExpress控件套件包含了许多常见控件,如按钮、文本框、标签等。
同时,它还包含了更加专业的控件,如表格、网格、图表、仪表等,以及工具条、导航栏、对话框等一系列控件、组件和工具库。
同时,DevExpress控件套件对多语言国际化的支持也非常完善。
它支持多种开发语言和平台,包括WinForm、WPF、WebForm、MVC等。
这些控件和组件的特性可以帮助开发人员提高开发效率、简化代码和增强应用程序的功能。
主要功能与特性DevExpress控件套件拥有良好的设计和功能特点,这些特点可以让开发人员快速和高效地构建应用程序。
下面是DevExpress控件套件的主要功能和特性:1. 高质量UI控件DevExpress提供了许多视觉和功能完整的UI控件,这些控件可以帮助开发人员快速构建各种各样的应用程序。
这些控件在各种情况下都可以良好地工作,不管是在WinForm应用程序、WPF应用程序或Web应用程序等场景下。
另外,DevExpress还提供了一些特殊的控件,比如XtraReports和PrintControl控件,可以帮助开发人员设计和生成高质量的报表和打印文件。
2. 应用程序主题和外观定制DevExpress控件套件提供了多种内置的主题和外观,例如经典、黑色、WinXP 和Office2007等等。
dev express sidebar 用法
![dev express sidebar 用法](https://img.taocdn.com/s3/m/b2f433ab6394dd88d0d233d4b14e852458fb3939.png)
dev express sidebar 用法DevExpress Sidebar 是一个功能强大的 UI 控件,可帮助开发者为他们的应用程序添加侧边栏。
通过使用 DevExpress 的侧边栏,开发者可以轻松地创建一个具有现代化外观和用户友好性的导航菜单。
使用 DevExpress Sidebar 非常简单。
以下是几个使用 DevExpress Sidebar 的基本步骤:1. 安装 DevExpress 控件包:首先,开发者需要从 DevExpress 官方网站下载并安装 DevExpress 控件包。
在安装过程中,确保选择安装 Sidebar 控件。
2. 创建侧边栏控件:在您的应用程序中,创建一个新的 DevExpress Sidebar 控件实例。
您可以使用代码创建控件,或者在设计器中拖放一个控件。
确保将控件放置在您希望它显示的区域。
3. 配置侧边栏项:使用 DevExpress Sidebar 的项集合属性,您可以添加并配置侧边栏的各个项。
每个项都可以设置其标题、图标和单击事件处理程序等属性。
通过添加适当的项,您可以为用户提供需要的导航选项。
4. 自定义外观:DevExpress Sidebar 提供了许多自定义选项,可让您根据应用程序的需求调整侧边栏的外观。
您可以更改背景颜色、字体样式和图标等。
此外,您还可以选择侧边栏的展开和折叠模式,以及它的位置。
5. 绑定数据:如果您需要根据动态数据来生成侧边栏项,DevExpress Sidebar 也提供了数据绑定功能。
通过将数据源与控件绑定,您可以自动填充侧边栏项,并确保它们随数据的变化而更新。
使用 DevExpress Sidebar 可以使您的应用程序更具现代感和易用性。
无论是用于桌面应用程序还是 Web 应用程序,DevExpress Sidebar 都是一个强大而灵活的工具,可以大大简化导航菜单的设计与实现过程。
记住按照上述步骤来使用它,并尽量根据用户需求进行适当的定制和配置。
devexpress 控件用法
![devexpress 控件用法](https://img.taocdn.com/s3/m/e9d4578edb38376baf1ffc4ffe4733687e21fca6.png)
devexpress 控件用法DevExpress是一个强大的控件库,专为.NET开发人员设计。
它提供了一系列易于使用且功能丰富的控件,可以帮助开发人员更快速地构建各种类型的应用程序,从基本的桌面应用程序到复杂的企业级解决方案。
在本文中,我们将以中括号为主题,一步一步地介绍DevExpress控件的用法。
第一步:准备工作在开始使用DevExpress控件之前,需要进行一些准备工作。
首先,您需要在开发计算机上安装DevExpress控件库。
您可以从DevExpress官方网站下载并安装控件库的最新版本。
安装完成后,您需要在.NET项目中添加对DevExpress控件库的引用。
第二步:控件的基本用法DevExpress控件库提供了多个控件类别,包括界面控件、数据控件、布局控件等。
每个类别都包含多个具体的控件类型。
在使用控件之前,您需要根据项目需求选择合适的控件类型。
界面控件是DevExpress控件库中最常用的控件之一。
它们用于构建应用程序的用户界面。
常用的界面控件包括按钮、文本框、标签、下拉框等。
要使用界面控件,您需要在设计窗体或用户控件时将其拖放到设计器中,并设置其属性和事件处理程序。
数据控件用于显示和操作数据。
它们可以从数据库、文件或其他数据源中检索数据,并将其显示在界面上。
常用的数据控件包括表格控件、列表控件和树控件等。
使用数据控件时,您可以通过绑定数据源和设置数据过滤条件来配置它们。
布局控件用于组织界面上的其他控件。
它们提供了一种简便的方法来排列和调整控件的位置和大小。
常用的布局控件包括面板、分组框和标签页等。
使用布局控件时,您可以将其他控件放置在布局控件的容器中,并调整它们的布局样式。
第三步:控件的高级用法在掌握了DevExpress控件的基本用法后,您可以开始使用它们的高级功能。
DevExpress控件提供了许多高级功能,可以提高应用程序的性能和用户体验。
一个常见的高级用法是自定义控件的外观和样式。
DevExpress控件使用之多重坐标图形的绘制(ASPxWebChartControl)
![DevExpress控件使用之多重坐标图形的绘制(ASPxWebChartControl)](https://img.taocdn.com/s3/m/b189f3cc89eb172ded63b7ab.png)
DevExpress控件使用之多重坐标图形的绘制有时候,基于对一些年份、月份的统计,需要集成多个数值指标进行分析,因此就需要把多种数据放到一个图形里面展现,也成为多重坐标轴,多重坐标轴可以是多个X轴,也可以是Y轴,它们的处理方式类似。
本文通过一个例子对这个方面进行介绍,希望给大家有一个很好的参考。
首先我们先来看一个图形例子,我们可以从里面图形的右边看到有多个Y轴,一个Y轴代表一个指标分析,X轴为月份。
上图是采用了DevExpress的ChartControl图表控件来实现的,这个控件提供了SecondaryAxisY对象来处理多重坐标的问题。
1.准备数据并绑定首先,,拖动ChartControl控件到Form界面上,然后设计好布局。
下面为了测试准备了几项数据,绑定在下面列表GridControl对象里面,然后把数据绑定到图表对象里面,如下代码。
具体处理的时候,我们从数据库获取对应指标的数据即可实现动态绑定。
/// <summary>/// 准备数据内容/// </summary>/// <returns></returns>privateDataTableCreateData(){DataTabledt = new DataTable();dt.Columns.Add(new DataColumn("类型"));dt.Columns.Add(new DataColumn("2005-1月", typeof(decimal)));dt.Columns.Add(new DataColumn("2005-2月", typeof(decimal)));dt.Columns.Add(new DataColumn("2005-3月", typeof(decimal)));dt.Columns.Add(new DataColumn("2005-4月", typeof(decimal)));dt.Columns.Add(new DataColumn("2005-5月", typeof(decimal)));dt.Columns.Add(new DataColumn("2005-6月", typeof(decimal)));dt.Rows.Add(new object[] { "员工人数", 437, 437, 414,397, 387, 378 });dt.Rows.Add(new object[] { "人均月薪", 3964, 3961, 3979, 3974, 3967, 3972 });dt.Rows.Add(new object[] { "成本TEU", 3104, 1339, 3595.8, 3154.5, 2499.8, 3026 });dt.Rows.Add(new object[] { "人均生产率", 7.1, 3.06, 8.69,7.95, 6.46, 8.01 });dt.Rows.Add(new object[] { "占2005年3月人数比例", 1.06, 1.06, 1,0.96, 0.93, 0.91 });returndt;}private void Form1_Load(object sender, EventArgs e){DataTabledt = CreateData();this.gridControl1.DataSource = dt;CreateChart(dt);}2、创建图表图形private void CreateChart(DataTabledt){#region Series//创建几个图形的对象Series series1 = CreateSeries("员工人数", ViewType.Line, dt, 0);Series series2 = CreateSeries("人均月薪", ViewType.Line, dt, 1);Series series3 = CreateSeries("成本TEU", ViewType.Line, dt, 2);Series series4 = CreateSeries("人均生产率", ViewType.Line, dt, 3);Series series5 = CreateSeries("占2005年3月人数比例",ViewType.Line, dt, 4);#endregionList<Series> list = new List<Series>() { series1, series2, series3, series4, series5 };chartControl1.Series.AddRange(list.ToArray());chartControl1.Legend.Visible = false;belsVisibility =efaultBoolean.True;for (int i = 0; i <list.Count; i++){list[i].View.Color = colorList[i];CreateAxisY(list[i]);}}为了简化代码,并方便处理,上面代码中提取了两个函数进行了独立处理。
DevExpress控件使用大全
![DevExpress控件使用大全](https://img.taocdn.com/s3/m/39f9dd3e31126edb6f1a10f8.png)
第三方控件使用大全一、ComboBoxEdit1、如何使其不可编辑TextEditStyle 设置为:DisableTextEditor2、如何设置鼠标为手形Cursor 设置为:Hand二、GridControl1、如何解决单击记录整行选中的问题View->OptionsBehavior->EditorShowMode 设置为:Click2、如何新增一条记录(1)、gridView.AddNewRow()(2)、实现gridView_InitNewRow事件3、如何解决GridControl记录能获取而没有显示出来的问题gridView.populateColumns();4、如何让行只能选择而不能编辑(或编辑某一单元格)(1)、View->OptionsBehavior->EditorShowMode 设置为:Click(2)、View->OptionsBehavior->Editable 设置为:false5、如何禁用GridControl中单击列弹出右键菜单设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false6、如何隐藏GridControl的GroupPanel表头设置Run Design->OptionsView->ShowGroupPanel 设置为:false7、如何禁用GridControl中列头的过滤器过滤器如下图所示:设置Run Design->OptionsCustomization->AllowFilter 设置为:false8、如何在查询得到0条记录时显示自定义的字符提示/显示如图所示:方法如下://When no Records Are Being Displayedprivatevoid gridView1_CustomDrawEmptyForeground(object sender, CustomDrawEventArgs e){//方法一(此方法为GridView设置了数据源绑定时,可用)ColumnView columnView = sender as ColumnView;BindingSource bindingSource = this.gridView1.DataSource as BindingSource;if(bindingSource.Count == 0){string str = "没有查询到你所想要的数据!";Font f = new Font("宋体", 10, FontStyle.Bold);Rectangle r = new Rectangle(e.Bounds.Top + 5, e.Bounds.Left + 5,e.Bounds.Right - 5, e.Bounds.Height - 5);e.Graphics.DrawString(str, f, Brushes.Black, r);}//方法二(此方法为GridView没有设置数据源绑定时,使用,一般使用此种方法)if (this._flag){if (this.gridView1.RowCount == 0){string str = "没有查询到你所想要的数据!";Font f = new Font("宋体", 10, FontStyle.Bold);Rectangle r = new Rectangle(e.Bounds.Left + 5, e.Bounds.Top + 5, e.Bounds.Width -5, e.Bounds.Height - 5);e.Graphics.DrawString(str, f, Brushes.Black, r);}}}9、如何显示水平滚动条?设置this.gridView.OptionsView.ColumnAutoWidth = false;10、如何定位到第一条数据/记录?设置this.gridView.MoveFirst()11、如何定位到下一条数据/记录?设置this.gridView.MoveNext()12、如何定位到最后一条数据/记录?设置this.gridView.MoveLast()13、设置成一次选择一行,并且不能被编辑this.gridView1.FocusRectStyle =DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus; this.gridView1.OptionsBehavior.Editable = false;this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;14、如何显示行号?this.gridView1.IndicatorWidth = 40;//显示行的序号privatevoid gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e) {if (.IsRowIndicator && e.RowHandle>=0){.DisplayText = (e.RowHandle + 1).ToString();}}15、如何让各列头禁止移动?设置gridView1.OptionsCustomization.AllowColumnMoving = false;16、如何让各列头禁止排序?设置gridView1.OptionsCustomization.AllowSort = false;17、如何禁止各列头改变列宽?设置gridView1.OptionsCustomization.AllowColumnResizing = false;18、19、20、21、22、23、24、25、26、三、navBarControl1、如何在每一个navBarGroup里添加自己想要的控件设置GroupStyle: ControlContainer2、如何设置navBarGroup有滚动条设置SkinExplorerBarViewScrollStyle:ScrollBar3、如休把navBarGroup设置成如下样式如图所示:设置navBarGroup的PaintStyleName属性为: SkinNavigationPane四、toolTipController效果图如下:1、如何设置显示的时间长短设置this.toolTipController1.AutoPopDelay = 2000;2、如何在屏幕上显示如上图所示的效果ToolTipControllerShowEventArgs args = this.toolTipController1.CreateShowArgs(); this.toolTipController1.SetToolTip(this.sbtnYes, "请选择一条记录!");this.toolTipController1.SetTitle(this.sbtnYes, "提示");this.toolTipController1.SetToolTipIconType(this.sbtnYes,DevExpress.Utils.ToolTipIconType.Exclamation);this.toolTipController1.ShowBeak = true;this.toolTipController1.ShowShadow = true;this.toolTipController1.Rounded = true;this.toolTipController1.ShowHint("请选择一条记录!", "提示"); args.ToolTip = "请选择一条记录!";args.Title = "提示";3、如何设置边框的颜色this.toolTipController1.Appearance.BorderColor = Color.Red;五、TextEdit1、如何设置TextEdit为多行,可拉伸设置TextEdit的Propertity->AutoHeight为:False六、LayoutControl1、如何设置LayoutItem为隐藏设置LayoutItem.Visibility = Never七、TreeList1、如何隐藏TreeList的列头设置TreeListr的OptionsView的ShowColumns属性为:False2、如何八、PictureEdit1、如何禁止PictureEdit的右键菜单?设置PictureEdit的Properties->ShowMenu为:false九、TreeList1、如何让TreeList的每个结点高亮显示?效果如下:代码如下:privatevoid treeList1_CustomDrawNodeCell(object sender,DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs e){TreeList node = sender as TreeList;if (e.Node == node.FocusedNode){e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds);Rectangle r = new Rectangle(e.EditViewInfo.ContentRect.Left,e.EditViewInfo.ContentRect.Top,Convert.ToInt32(e.Graphics.MeasureString(e.CellText,treeList1.Font).Width + 1),Convert.ToInt32(e.Graphics.MeasureString(e.CellText,treeList1.Font).Height));e.Graphics.FillRectangle(SystemBrushes.Highlight, r);e.Graphics.DrawString(e.CellText, treeList1.Font, SystemBrushes.HighlightText, r);e.Handled = true;}}//============================================================================ //===============================以下内容为收集=============================== //============================================================================一、改变grid的样式。
DevExpress控件使用经验总结
![DevExpress控件使用经验总结](https://img.taocdn.com/s3/m/a4e2263453d380eb6294dd88d0d233d4b14e3fff.png)
DevExpress控件使用经验总结DevExpress是一个比较有名的界面控件套件,提供了一系列的界面控件套件的DotNet 界面控件。
本文主要介绍我在使用DevExpress控件过程中,遇到或者发现的一些问题解决方案,或者也可以所示一些小的经验总结。
总体来讲,使用DevExpress控件,可以获得更高效的界面设计以及更美观的效果。
本文主要通过给出相应的例子以及相关界面效果来说明问题,希望大家能够从中获得好的知识和思路。
1、应用Office2007和Office2010的界面主题开始使用DevExpress的时候,发现程序界面效果好像没有出现Office的样式,只是有几种可怜的内置效果。
经过查找发现需要在入口函数里面添加几行代码,如下所示。
erSkins.OfficeSkins.Register();erSkins.BonusSkins.Register();DevExpress.Skins.SkinManager.EnableFormSkins();指定界面主题效果,可以通过代码设置,指定主题的名称即可。
UserLookAndFeel.Default.SetSkinStyle("Office 2010 Blue");或者在界面中添加一个控件 DefaultLookAndFeel,设置其对应的界面效果即可实现整个设计时刻和运行时刻的界面效果,如下图所示。
2、Properties属性DevExpress很多控件的一般属性,会放置在该属性下面,如ComboBox下拉列表的属性操作如下private void InitDictItem(){this.txtManufacture.Properties.Items.Clear();this.txtManufacture.Properties.Items.AddRange(DictItemUtil.GetDictByDictType("供货商"));}这是一个很丰富属性的归类,很多常用的属性基本上都囊括在这里了,如果你是从传统界面转换过来DevExperss开发,找不着相关的属性,尽管来这里看看。
DevExpress基本控件讲解
![DevExpress基本控件讲解](https://img.taocdn.com/s3/m/7cacde2f3169a4517723a3fd.png)
谢 谢!
图表控件(Chart)
各种图表种类齐全. 条形图、线形图、饼图、点状图、环形图、雷达图、面积图、甘特图, 3D效果 图表的DEMO
综合性示例
我们来欣赏一下DevExpress控件在一个实际项目中的综合应用. 该示例以一个影碟租售店的销售管理作为应用的场景. 查看示例
树控件
树控件的主要功能
以网格结构显示树型数据,可以显示多列数据 和网格控件一样,可以单击列标头排序 和网格控件一样,有即点即输的编辑功能 内置拖放结点操作 树控件的DEMO演示
工具栏及导航控件
DevExpress的工具栏及导航控件完全取代了.net framework自带的一 系列相似功能的标准控件,功能更为强大,使用更加灵活.并有多种皮 肤和样式可供选择. 侧边栏导航(NavBar):有Outlook样式、XP样式 DEMO演示 菜单栏和工具栏 DEMO演示
DevExpress基本控件讲解
为产品规划部而作
控件按使用的技术平台的分类
WINFROM WPF Silverlight 目前.net开发小组用的是WINFORM系列的控件.
WINFROM控件系列
中文名称 网格(表格) 树 工具栏及导航 日历 富文本编辑 图表
网格控件的主要功能
多种视图(网格、卡片、阵列) 丰富的格式控制(复合表头、合并单元格线条、背景、字体、高亮、 条件格式…) 主从表(Master-Detail)关联数据的展示 对列进行分组 内置排序和汇总的功能 内含对搜索和筛选的支持 在线编辑、插入、删除的功能 网格控件的演示
富文本编辑控件(RichEditor)
完全模仿Word的富文本编辑控件. 支持多种格式:Word2003/2007,Rtf,Html,纯文本,PDF(只能导出) 丰富的格式控制。 邮件合并:在文档中预留特殊标记,在程序中自动用内容替换这些标 记。可做到批量处理。 主要的缺点 :不支持浮动的排版元素 (有可能在下一个版本会改进) 日程表的DEMO
DevExpress基本控件讲解
![DevExpress基本控件讲解](https://img.taocdn.com/s3/m/7cacde2f3169a4517723a3fd.png)
英文名称 Grid TreeList Ribbon,Toolbar,Menu Scheduler Rich Text Editor Chart
网格控件(Grid Control)
列分组区 (多重)表头 主表数据 从表数据
以卡片形式展现 的从表数据 导航条
日程表控件(Scheduler)
Outlook样式的日程表控件,可以用来制作工作计划,工作日志等等 五种视图:日视图、周视图、工作周视图、月视图、时间线视图, 到时的自动提醒功能 和Outlook共享数据。 与日历控件配合,实现联动 日程表的DEMO
wwwbolaninfocomwinfrom控件系列中文名称英文名称网格表格gridtreelist工具栏及导航ribbontoolbarmenu日历scheduler富文本编辑richtexteditor图表chartwwwbolaninfocom网格控件gridcontrol列分组区多重表头主表数据从表数据导航条以卡片形式展现的从表数据wwwbolaninfocom网格控件的主要功能丰富的格式控制复合表头合并单元格线条背景字体高亮条件格式
谢 谢!
网格控件的主要功能
多种视图(网格、卡片、阵列) 丰富的格式控制(复合表头、合并单元格线条、背景、字体、高亮、 条件格式…) 主从表(Master-Detail)关联数据的展示 对列进行分组 内置排序和汇总的功能 内含对搜索和筛选的支持 在线编辑、插入、删除的功能 网格控件的演示
树控件
树控件的主要功能
以网格结构显示树型数据,可以显示多列数据 和网格控件一样,可以单击列标头排序 和网格控件一样,有即点即输的编辑功能 内置拖放结点操作 树控件的DEMO演示
DevExpress控件文档
![DevExpress控件文档](https://img.taocdn.com/s3/m/946511c89ec3d5bbfd0a746b.png)
<ImageWidth="137px"Height="48px"Url="Images/Search/normal.png"UrlHottracked="Images/Search/hover.png"UrlPressed="Images/Search/pressed.png"/>
1.pcPDFGrade.ActiveTabIndex= 0判断默认显示哪个标签
2.pcPDFGrade.TabPages[1].Visible =true;判断是否显示标签页
3.pcPDFGrade.ShowTabs=false;判断是否显示所有标签头
DX11.1:Data
ASPxGridView
2.AllowSelectItem是否可以选中内容
3.AutoPostBack是否回传
4.AutoCollapse是否可以全部展开
5.EnableHotTrack经过菜单时是否变色
6.EnableAnimation是否启用动画效果
参考网址:/ASPxperienceDemos/NavBar/DataBinding.aspx
varbidId= $(s.mainElement).attr("BidId");//前台获取控件的属性值
varbidChecked=s.GetChecked();//前台获取控件的
ASPxDateEdit
例子参考网址:/ASPxEditorsDemos/Validation/Inplace.aspx
DevExpress使用XtraTabbedMdiManager控件以Tab样式加载Mdi。。。
![DevExpress使用XtraTabbedMdiManager控件以Tab样式加载Mdi。。。](https://img.taocdn.com/s3/m/4a01d2c377eeaeaad1f34693daef5ef7bb0d125d.png)
DevExpress使⽤XtraTabbedMdiManager控件以Tab样式加载Mdi。
最近刚接触到 DevExpress 13.1 这个⽪肤组件, 觉得相当好⽤于是开始准备搭建个⼩应⽤的主体框架.找了好久的就是没找到对应的⽂章来讲解这⼀块.. 翻了他们主⽹站上⼈家问的,以及API 才摸索... 不懂英⽂好吃⼒呀~~~⾸先选到的就是,依旧⽤ Mdi⼦窗体模式加载⼦模块第⼀步: 创建⼀个主 RibbonForm 为: ParentForm1.1 设置 RibbonControl 属性 MdiMergeStyle 为: Always第⼆步: 在左边拖⼊⼀个NavBarControl 设置Dock : Left第三步: 拖⼊: XtraTabbedMdiManager 3.1 设置 XtraTabbedMdiManager 的 MdiParent 为: 当前窗体:ParentForm以上主窗体部分完成第四步: 新建⼦ RibbonForm 为: ChildForm第五步: 在ChildForm中拖⼊: XtraScrollableControl 并设置 Dock:Fill 然后你可以把你的组件都拖⼊这个控件,这样就会在 ChildForm 被加载的话会有滚动条第六步: 在 ChildForm 的 RibbonControl 中添加对就应的 RibbonPage 和按钮以上⼦窗体部分完成好了,⾄此,基本控件我们都已经添加好了.,接下来我们来添加事件第七步: 打开⼦窗体事件在ParentForm的 navbarControl 中添加 Item 并添加事件// 给 NavBarControl 添加 LinkClicked 事件private void navBarControl2_LinkClicked(object sender, NavBarLinkEventArgs e){AddPageMdi(e.Link.Item);} // 打开⼦窗体⽅法private void AddPageMdi(NavBarItem navItem){ChildForm childForm = new ChildForm();childForm.MdiParent = this; // ⼦窗体的 Text 就是 Tab页中的标题 ,我这⾥是直接取 navItem中的标题作为 tab页的标题childForm.Text = navItem.Caption + tabCount++;// 显⽰childForm.Show();// 设置当前 tab页的图标,我这⾥也默认取navBar中的Item中的图标xtraTabbedMdiManager1.Pages[subform].Image = navItem.SmallImage;}第⼋步: 添加双击页签时,关闭页签事件,记住是添加在: XtraTabbedMdiManager 的 MouseDown 事件中:private DateTime m_LastClick = System.DateTime.Now;private XtraMdiTabPage m_lastPage = null;private void xtraTabbedMdiManager1_MouseDown(object sender, MouseEventArgs e){XtraMdiTabPage curPage = (sender as XtraTabbedMdiManager).SelectedPage;if (e.Button == MouseButtons.Left){DateTime dt = DateTime.Now;TimeSpan span = dt.Subtract(m_LastClick);if (span.TotalMilliseconds < 300) //如果两次点击的时间间隔⼩于300毫秒,则认为是双击{if (this.MdiChildren.Length > 1){// 限制只有在同⼀个页签上双击才能关闭.(规避两个页签切换时点太快导致意外关闭页签)if (curPage.Equals(m_lastPage)){//if (this.ActiveMdiChild != m_MapForm)//{this.ActiveMdiChild.Close();//}}}m_LastClick = dt.AddMinutes(-1);}else{m_LastClick = dt;m_lastPage = curPage;}}}第九步: 添加合并Mdi⼦窗体的状态栏 ,记得是在ParentForm的 RibbonControl控的 Merge事件和 UnMerge 事件中添加这样就能在切换⼦窗体页签的时候同时将⼦窗体的状态栏也合并到主窗体的状态栏上,并且在切换另⼀个的时候同时卸载当前⼦窗体的合并状态栏,private void ribbon_Merge(object sender, DevExpress.XtraBars.Ribbon.RibbonMergeEventArgs e){RibbonControl parentRRibbon = sender as RibbonControl;RibbonControl childRibbon = e.MergedChild;parentRRibbon.StatusBar.MergeStatusBar(childRibbon.StatusBar);}private void ribbon_UnMerge(object sender, RibbonMergeEventArgs e){RibbonControl parentRRibbon = sender as RibbonControl;parentRRibbon.StatusBar.UnMergeStatusBar();}OK 基本⾄此,⼩应⽤框架就能搭建出来了,后期还需要再添加控制,已经加载的⼦窗体不能重复添加的功能.以及 NavBarControl 的过滤功能.[注意: Mdi⼦窗体的RibbonControl中的控件合并到主窗体上的时候,是根据Text属性值来合并的,如果对应的 Text值和主窗体上的RibbonControl中的 Page或是 Group 的Text⼀样的话就会被合并到同个Page或是 Group 中另外,⼦窗体中的RibbonControl中的按钮之类的是根据Caption来进⾏合并的可以通过: mergeType来控制在合并到主窗体时是 : Add添加(默认) ,Replace:替换(⼦窗体按钮设置就可以)MergeItems (还搞不清楚)Remove:移除(需要主窗体的 MergeType 和⼦窗体的MergeType 都设置为:Remove 时才可以)。
DevExpress控件使用大全
![DevExpress控件使用大全](https://img.taocdn.com/s3/m/39f9dd3e31126edb6f1a10f8.png)
第三方控件使用大全一、ComboBoxEdit1、如何使其不可编辑TextEditStyle 设置为:DisableTextEditor2、如何设置鼠标为手形Cursor 设置为:Hand二、GridControl1、如何解决单击记录整行选中的问题View->OptionsBehavior->EditorShowMode 设置为:Click2、如何新增一条记录(1)、gridView.AddNewRow()(2)、实现gridView_InitNewRow事件3、如何解决GridControl记录能获取而没有显示出来的问题gridView.populateColumns();4、如何让行只能选择而不能编辑(或编辑某一单元格)(1)、View->OptionsBehavior->EditorShowMode 设置为:Click(2)、View->OptionsBehavior->Editable 设置为:false5、如何禁用GridControl中单击列弹出右键菜单设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false6、如何隐藏GridControl的GroupPanel表头设置Run Design->OptionsView->ShowGroupPanel 设置为:false7、如何禁用GridControl中列头的过滤器过滤器如下图所示:设置Run Design->OptionsCustomization->AllowFilter 设置为:false8、如何在查询得到0条记录时显示自定义的字符提示/显示如图所示:方法如下://When no Records Are Being Displayedprivatevoid gridView1_CustomDrawEmptyForeground(object sender, CustomDrawEventArgs e){//方法一(此方法为GridView设置了数据源绑定时,可用)ColumnView columnView = sender as ColumnView;BindingSource bindingSource = this.gridView1.DataSource as BindingSource;if(bindingSource.Count == 0){string str = "没有查询到你所想要的数据!";Font f = new Font("宋体", 10, FontStyle.Bold);Rectangle r = new Rectangle(e.Bounds.Top + 5, e.Bounds.Left + 5,e.Bounds.Right - 5, e.Bounds.Height - 5);e.Graphics.DrawString(str, f, Brushes.Black, r);}//方法二(此方法为GridView没有设置数据源绑定时,使用,一般使用此种方法)if (this._flag){if (this.gridView1.RowCount == 0){string str = "没有查询到你所想要的数据!";Font f = new Font("宋体", 10, FontStyle.Bold);Rectangle r = new Rectangle(e.Bounds.Left + 5, e.Bounds.Top + 5, e.Bounds.Width -5, e.Bounds.Height - 5);e.Graphics.DrawString(str, f, Brushes.Black, r);}}}9、如何显示水平滚动条?设置this.gridView.OptionsView.ColumnAutoWidth = false;10、如何定位到第一条数据/记录?设置this.gridView.MoveFirst()11、如何定位到下一条数据/记录?设置this.gridView.MoveNext()12、如何定位到最后一条数据/记录?设置this.gridView.MoveLast()13、设置成一次选择一行,并且不能被编辑this.gridView1.FocusRectStyle =DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus; this.gridView1.OptionsBehavior.Editable = false;this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;14、如何显示行号?this.gridView1.IndicatorWidth = 40;//显示行的序号privatevoid gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e) {if (.IsRowIndicator && e.RowHandle>=0){.DisplayText = (e.RowHandle + 1).ToString();}}15、如何让各列头禁止移动?设置gridView1.OptionsCustomization.AllowColumnMoving = false;16、如何让各列头禁止排序?设置gridView1.OptionsCustomization.AllowSort = false;17、如何禁止各列头改变列宽?设置gridView1.OptionsCustomization.AllowColumnResizing = false;18、19、20、21、22、23、24、25、26、三、navBarControl1、如何在每一个navBarGroup里添加自己想要的控件设置GroupStyle: ControlContainer2、如何设置navBarGroup有滚动条设置SkinExplorerBarViewScrollStyle:ScrollBar3、如休把navBarGroup设置成如下样式如图所示:设置navBarGroup的PaintStyleName属性为: SkinNavigationPane四、toolTipController效果图如下:1、如何设置显示的时间长短设置this.toolTipController1.AutoPopDelay = 2000;2、如何在屏幕上显示如上图所示的效果ToolTipControllerShowEventArgs args = this.toolTipController1.CreateShowArgs(); this.toolTipController1.SetToolTip(this.sbtnYes, "请选择一条记录!");this.toolTipController1.SetTitle(this.sbtnYes, "提示");this.toolTipController1.SetToolTipIconType(this.sbtnYes,DevExpress.Utils.ToolTipIconType.Exclamation);this.toolTipController1.ShowBeak = true;this.toolTipController1.ShowShadow = true;this.toolTipController1.Rounded = true;this.toolTipController1.ShowHint("请选择一条记录!", "提示"); args.ToolTip = "请选择一条记录!";args.Title = "提示";3、如何设置边框的颜色this.toolTipController1.Appearance.BorderColor = Color.Red;五、TextEdit1、如何设置TextEdit为多行,可拉伸设置TextEdit的Propertity->AutoHeight为:False六、LayoutControl1、如何设置LayoutItem为隐藏设置LayoutItem.Visibility = Never七、TreeList1、如何隐藏TreeList的列头设置TreeListr的OptionsView的ShowColumns属性为:False2、如何八、PictureEdit1、如何禁止PictureEdit的右键菜单?设置PictureEdit的Properties->ShowMenu为:false九、TreeList1、如何让TreeList的每个结点高亮显示?效果如下:代码如下:privatevoid treeList1_CustomDrawNodeCell(object sender,DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs e){TreeList node = sender as TreeList;if (e.Node == node.FocusedNode){e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds);Rectangle r = new Rectangle(e.EditViewInfo.ContentRect.Left,e.EditViewInfo.ContentRect.Top,Convert.ToInt32(e.Graphics.MeasureString(e.CellText,treeList1.Font).Width + 1),Convert.ToInt32(e.Graphics.MeasureString(e.CellText,treeList1.Font).Height));e.Graphics.FillRectangle(SystemBrushes.Highlight, r);e.Graphics.DrawString(e.CellText, treeList1.Font, SystemBrushes.HighlightText, r);e.Handled = true;}}//============================================================================ //===============================以下内容为收集=============================== //============================================================================一、改变grid的样式。
使用DevExpress 的 ASPxGridView 控件显示主从表
![使用DevExpress 的 ASPxGridView 控件显示主从表](https://img.taocdn.com/s3/m/c5f3cbf3f90f76c661371a23.png)
首先要准备两个数据源,一个是主表数据源,一个是从表数据源。
从表数据源<asp:AccessDataSource ID="AccessDataSource_Detail" runat="server" DataFile="~/App_Data/Master-Detail.mdb"SelectCommand="SELECT * FROM [订单明细] WHERE ([订单ID] = ?)" DeleteCommand="DELETE FROM [订单明细] WHERE [订单明细ID] = ?" InsertCommand="INSERT INTO [订单明细] ([订单明细ID], [订单ID], [售出日期], [数量], [单价], [折扣]) V ALUES (?, ?, ?, ?, ?, ?)" UpdateCommand="UPDATE [订单明细] SET [订单ID] = ?, [售出日期] = ?, [数量] = ?, [单价] = ?, [折扣] = ? WHERE [订单明细ID] = ?"><SelectParameters><asp:SessionParameter Name="订单_ID" SessionField="OrderID" Type="Int32" /></SelectParameters></asp:AccessDataSource>这个地方有一点需要注意的是SelectParameters 的SessionField 属性。
由于SelectCommand 带一个参数,这个参数的值是存放在Session中的,这个参数的Session名字是OrderID。
DevExpress控件使用详细说明
![DevExpress控件使用详细说明](https://img.taocdn.com/s3/m/a4d70ac3a0116c175f0e485e.png)
界面规范[V1.0]拟制人______________________审核人______________________批准人______________________[二零零七年二月二十六日]日期作者版本备注2007/04/05 范拥华 1.0.0Created by fanco Page 1 of 49 Created on 5/22/2020 4:55:00 PM目录1规范性 (4)2系统颜色、字体、图标 (4)2.1设计参考 (4)3FORM控件布局与间距 (5)3.1设计参考 (5)4对齐设置 (6)4.1设计参考 (6)5BARMANAGER控件 (6)5.1实现效果 (6)6菜单 (7)6.1设计参考 (7)6.2实现效果 (8)6.3操作步骤 (8)6.4实现代码 (10)7工具栏 (10)7.1设计参考 (10)7.2实现效果 (10)7.3操作步骤 (10)8STATUSBARS控件 (11)8.1设计参考 (11)8.2实现效果 (11)8.3操作步骤 (11)9控件 (11)9.1网格控件 (11)9.1.1GridControl (11)9.1.1.1GridControl描述 (11)9.1.1.2GridControl特殊属性 (17)9.1.2GridView (22)9.1.2.1实现效果 (23)9.1.2.2操作步骤 (23)9.1.2.3属性设置 (23)9.1.3CardView (23)9.1.3.1实现效果 (24)9.1.3.2操作步骤 (24)9.1.3.3CarView属性设置 (24)9.1.4BandedGridView (25)9.1.4.1实现效果 (25)9.1.4.2操作步骤 (25)9.1.4.3实现代码 (26)9.1.4.4属性设置 (26)9.1.4.5ColumnEdit列 (26)9.1.5AdvBandedGridView (27)9.1.5.1实现效果 (28)Created by fanco Page 2 of 49 Created on 5/22/2020 4:55:00 PM9.1.5.2操作步骤 (28)9.1.5.3实现代码 (28)9.1.5.4属性设置 (29)9.2X TRA L AYOUT控件 (29)9.2.1特性 (29)9.2.2实现效果 (29)9.2.3操作步骤 (29)9.3X TRA T AB控件 (30)9.3.1设计参考 (30)9.3.2效果及代码 (30)9.4P IVOT G RID控件 (31)9.4.1实现效果 (31)9.4.2操作步骤 (31)9.5X TRA T REE L IST控件 (32)9.5.1实现效果 (34)9.5.2操作步骤 (34)9.5.3实现代码 (36)9.5.4属性设置 (37)9.6L OOK U P E DIT控件 (37)9.6.1实现效果 (37)9.6.2操作步骤 (37)9.7G RID L OOK U P E DIT控件 (39)9.7.1设计参考 (39)9.7.2实现效果 (39)9.7.3操作步骤 (39)9.8G RID P RINT控件 (41)9.8.1实现效果 (42)9.9B UTTON控件 (45)9.9.1设计参考 (45)9.10C HECK B OX控件 (45)9.10.1设计参考 (45)9.11G ROUP B OX控件 (45)9.11.1设计参考 (45)9.12L ABEL控件 (45)9.12.1设计参考 (45)9.13LIST B OX控件 (46)9.13.1设计参考 (46)9.14L IST V IEW控件 (46)9.14.1设计参考 (46)10界面输入控制 (46)10.1设计参考 (46)11弹出子窗体 (46)11.1设计参考 (46)12消息框设置 (47)12.1设计参考 (47)13向导使用原则 (47)13.1设计参考 (47)Created by fanco Page 3 of 49 Created on 5/22/2020 4:55:00 PM14TAB键和快捷键设置 (47)14.1设计参考 (47)15系统响应时间 (48)15.1设计参考 (48)16登陆窗体与主界面 (49)16.1设计参考 (49)17系统帮助设置 (49)17.1设计参考 (49)18附录 (49)1规范性通常界面设计都按Windows界面的规范来设计,即包含“菜单条、工具栏、工具箱、状态栏、滚动条、右键快捷菜单”的标准格式,可以说:界面遵循规范化的程度越高,则易用性相应的就越好。
DevExpress控件使用方法:第一篇gridControl详解
![DevExpress控件使用方法:第一篇gridControl详解](https://img.taocdn.com/s3/m/b364e2dc0342a8956bec0975f46527d3240ca63e.png)
DevExpress控件使用方法:第一篇gridControl详解GridControl(1)层次设计器有五种视图模式,banded gridview多行表头,数据还是一行一组,最靠近数据的表头与数据一一对应;advanced banded gridview 多行表头,数据可以多行一组;cardview 一个卡片是一组数据,其中左侧是标题,右侧是数据;layout view是card view的集合,布局可以自定义(2)视图视图的层次结构视图属性:可通过GridControl.Views访问所有视图。
可通过ColumnView.Columns访问当前视图的所有列(3)设计器(层次设计器中点击Run Designer可调出)设计器有四大功能:①主要功能的设计;②选择外观;③可以选择多个视图,内嵌编辑器的设置;④打印功能的设置① View:(a)Option:OptionsBehavior可以设置行为(是否允许新增行/是否允许删除行/是否允许编辑/是否允许展开所有分组)OptionsCustomization(是否允许排序/分组/过滤/列的移动/列的大小的调整)OptionsDetail(设置从表的属性)、OptionsFilter(过滤属性的设置)OptionsView(显示或隐藏某些东西,比如标题行)(b)AppearancePrint : (行高…)Columns://列的相应的属性FeatureBrowser://设置事件,Grid的绑定、列的绑定(有方法提示),什么都可以设置Layout:设置布局Group Summary Items添加分组统计② Appearance:Appearances可设置行的外观Format Conditions条件样式Style Schemes可设置主题(比较方便)③ RepositoryView Repository设计视图,与①差不多In-place Editor Repository内嵌编辑器④ Printing(4)gridControl:给该列添加组件(如按钮) 三种方法法一:打开设计器(Run Designer),选择左侧Repository,点击In-place Editor Repository(内嵌编辑器),点击Add右侧的下拉菜单,选择你想添加的控件,比如ComboBoxEdit,再在右侧编辑控件的属性,ComboBox的话就可以设置Data下的Items集合,然后点左侧Main里的Columns,点你想在上头添加控件的列,找右侧Data 下的ColumnEdit,点最右边的下拉菜单,点Existing左侧的加号,就能找到你刚才的控件,添加。
DevExpress控件学习
![DevExpress控件学习](https://img.taocdn.com/s3/m/988fb6acf524ccbff12184a7.png)
DevExpress 控件学习1. MDI 窗体首先需要把父窗体设置为MDI 容器:在主窗体放一个xtraTabbedMdiManager ,如:设置MDI 窗体样式;新建一子窗体,可以是DevExpress 的也可以是VS 自带的(VS 自带的最好改下背景色为如下配置,否则会主子窗体颜色不搭配。
)调用子窗体的代码如下:///<summary> ///打开子窗体 ///</summary>///<param name="frm"></param>privatevoid OpenChildForm(Form frm) {int iCount = 0;foreach (var mdiChild inthis .MdiChildren){子窗体关闭按钮的样式多个标签的时候,如何显示标签导航栏MDI 子窗体标签栏的位置if (mdiChild.Text == frm.Text){mdiChild.Activate();iCount++;}}if (iCount> 0)return;frm.MdiParent = this;frm.Show();}privatevoid btnMqClient_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e){Text = e.Link.Item.Caption;if (e.Link.Item.Tag != null){object ooo = e.Link.Item.Tag;}FrmOutLook frm = new FrmOutLook();OpenChildForm(frm);}如果不想关闭子画面,则在子画面窗体上选择属性ControlBox关闭:2.OutLook导航条用法:选中navBarGroup1,在属性栏中选择GroupStyle,可以调整图标显示样式。
devexpress pivotgrid 列 标题 文本
![devexpress pivotgrid 列 标题 文本](https://img.taocdn.com/s3/m/7788787242323968011ca300a6c30c225901f093.png)
devexpress pivotgrid 列标题文本摘要:1.介绍DevExpress PivotGrid 控件2.如何在DevExpress PivotGrid 中设置列标题3.如何在DevExpress PivotGrid 中设置列标题的文本4.总结与展望正文:DevExpress 是一个流行的Windows Forms 和 控件库,它提供了丰富的控件,以帮助开发人员构建高效、易于使用的应用程序。
在本文中,我们将重点介绍DevExpress PivotGrid 控件,并讨论如何在其中设置列标题以及列标题的文本。
首先,让我们简要了解一下DevExpress PivotGrid 控件。
PivotGrid 控件是一种数据网格,它允许用户在多个维度上对数据进行汇总、筛选和分析。
它支持各种数据源,如SQL Server、Oracle 和XML,并提供了丰富的功能,如数据透视表、分组、汇总和切片器。
如何在DevExpress PivotGrid 中设置列标题呢?要设置列标题,请按照以下步骤操作:1.在Visual Studio 中,将DevExpress PivotGrid 控件添加到窗体或用户控件中。
2.打开PivotGrid 的属性窗口(右键单击控件,选择“属性”)。
3.转到“Columns”选项卡。
在这里,您可以为列标题指定一个标题文本。
例如,如果您有一个名为“销售额”的列,您可以将其标题设置为“销售收入”。
要在DevExpress PivotGrid 中设置列标题的文本,请按照以下步骤操作:1.在Visual Studio 中,将DevExpress PivotGrid 控件添加到窗体或用户控件中。
2.打开PivotGrid 的属性窗口(右键单击控件,选择“属性”)。
3.转到“Columns”选项卡。
在这里,您可以为列标题指定一个标题文本。
例如,如果您有一个名为“销售额”的列,您可以将其标题设置为“销售收入”。
devexpress pivotgrid 列 标题 文本
![devexpress pivotgrid 列 标题 文本](https://img.taocdn.com/s3/m/96f9e0af9a89680203d8ce2f0066f5335a8167f9.png)
devexpress pivotgrid 列标题文本DevExpress PivotGrid 列标题文本DevExpress PivotGrid 控件是一个强大的数据分析工具,它可以帮助开发者对大量数据进行灵活的透视分析。
在使用 PivotGrid 控件时,列标题文本的设置是一个重要的功能。
本文将介绍如何使用 DevExperss PivotGrid 控件来自定义列标题文本,并提供一些常见的应用场景和示例。
1. 设置列标题文本的默认格式在默认情况下,DevExpress PivotGrid 控件会根据数据源中的字段名来自动生成列标题文本。
但是有时我们需要对列标题文本进行自定义,例如更改字段名的显示方式或添加额外的信息。
我们可以通过以下代码来设置列标题文本的默认格式:```csharppivotGridControl.Fields["FieldName"].Caption = "Column Header Text";```其中,"FieldName" 是数据源中的字段名,"Column Header Text" 是自定义的列标题文本。
2. 在列标题文本中添加计算字段在 PivotGrid 中,我们经常需要对数据进行计算并显示计算结果。
可以通过在列标题文本中添加计算字段来实现这一功能。
下面是一个示例,演示如何在列标题文本中显示计算字段的结果:```csharppivotGridControl.Fields["TotalSales"].Caption = "Total Sales: $" + (pivotGridControl.GetCellValue(row, column) * 1.2);```在上述示例中,"TotalSales" 是计算字段的名称,GetCellValue(row, column) 是获取某个单元格的值的方法,"* 1.2" 是一个简单的数学运算。
DevExpress控件开发常用要点(项目总结版)
![DevExpress控件开发常用要点(项目总结版)](https://img.taocdn.com/s3/m/944a88e15ebfc77da26925c52cc58bd63186939a.png)
DevExpress控件开发常用要点(项目总结版)使用DevExpress控件来做项目开发已经有很长一段时间了,在摸索开发到客户苛刻要求的过程中,其中碰到过很多问题需要解决的,随着一个个问题的解决,也留下很多对DevExpress控件的使用经验及教训,综合设计到的多个项目的问题,对这些开发常用的要点进行总结,方便别人也方便自己。
提供这些解决方法,一个可以快速应用到项目中,二个也可以作为对界面开发的更高要求对待自己的项目,使得自己的东西更加完美,更加受欢迎。
1、GridControl控件的数据显示的样式控制如上两图所示,我们有时候需要控制列表访问过的颜色变化,或者是时间显示格式等内容,这个时候设置GridView的RowCellStyle即可实现,如下所示。
this.gridView1.RowCellStyle += newDevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(gridView1_RowCellStyle);void gridView1_RowCellStyle(object sender,DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e){if (e.Column.FieldName == "PublishType"){if(e.CellValue != null&& e.CellValue.ToString() == "中介"){e.Appearance.BackColor = Color.DeepSkyBlue;e.Appearance.BackColor2 = Color.LightCyan;}}if (e.Column.FieldName == "PublishTime"){e.Column.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";}if (e.Column.FieldName == "Title"){string id =this.winGridViewPager1.gridView1.GetRowCellDisplayText(e.RowHandle, "Id");if (historyDict.ContainsKey(id)){e.Appearance.BackColor = Color.DeepSkyBlue;e.Appearance.BackColor2 = Color.LightCyan;}}}2、在LayoutControl布局中固定控件宽度固定宽度后的真实效果。
DevExpress.Winform之更换主题-544904950的日志-网易博客
![DevExpress.Winform之更换主题-544904950的日志-网易博客](https://img.taocdn.com/s3/m/6262514759fafab069dc5022aaea998fcc2240f7.png)
DevExpress.Winform之更换主题-544904950的日志-网易博客DevExpress.Winform之更换主题Dev控件2009-12-31 11:05:25 阅读440 评论0 字号:大中小订阅1、准备当新建“Form”时,选择DevExpress Form为模板,就可以应用DevExpress的主题了。
此时,From继承的是“DevExpress.XtraEditors.XtraForm”。
默认情况下,系统主题有:CaramelMoney TwinsLilianThe Asphalt WorldiMaginaryBlackBlueDevExpress提供了更多的主题,我们如果应用的话,必须添加以下引用:DevExpress..OfficeSkins.v8.1;DevExpress.BonusSkins.v8.1;除此之外,必须在“Program.cs”文件在添加如下代码:erSkins.BonusSkins.Register();erSkins.OfficeSkins.Register();Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);if (!DevExpress.Skins.SkinManager.AllowFormSkins){DevExpress.Skins.SkinManager.EnableFormSkins();}Application.Run(new MainForm());其中“OfficeSkins”中的主题有:Office 2007 BlueOffice 2007 BlackOffice 2007 SilverOffice 2007 GreenOffice 2007 Pink“BonusSkins”的主题有:CoffeeLiquid SkyLondon Liquid SkyGlass OceansStardustXmas 2008 BlueValentineMcSkin(注:本人DevExpress为v8.1版本)2、添加更换皮肤菜单项通过“foreach(SkinContainer cnt in SkinManager.Default.Skins){}”可以获取现有所有主题皮肤名称,可以把获取的主题添加到菜单上,让用户选择自己喜爱的主题样式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DevExpress控件之主题
DevExpress控件的主题不仅多种多样,而且非常美观大方,以对完美观念不强的我们绝对是个惊喜,当然了,对于我们的用户也是一个福音,因为他们再对不用抱怨我人软件界面是如何的粗造了。
l 如何打造美丽的界面?
l 如何快速的更换漂亮的主题?
l 如何快速的使用类似于Offcie2007的操作面板?
......
本节课程将一一解答,带您进入美轮美奂的DevExpress世界!
1. 如何建造可换主题的窗口程序
当我们打开或新建一个“Windows程序”,系统默认会有一个From,名称为From1。
请注意,此时的”Form1”继承的是Windows自带的Form,即”System.Windows.Forms”。
而这个Form是不会应用DevExpress的主题样式的。
那么我们怎么样才可以让Form应用这些样式呢?
当我们安装完DevExpress控件包之后,在添加新项窗口中我们会看到多出的几项:如图:
分别是:DevExpress Form v9.1、DevExpress RibbomForm v9.1和DevExpressUsercontrol v9.1,其中“v9.1”是版本号。
当我们在新建“Form”时,选择DevExpress Form为模板,就可以应用DevExpress的漂亮主题了。
此时,From继承的是“DevExpress.XtraEditors.XtraForm”。
默认情况下,系统主题有:* Caramel
* Money Twins
* Lilian
* The Asphalt World
* iMaginary
* Black
* Blue
这几种主题,具体效果自己写个例子看看吧! 但DevExpress提供了更多的主题,我们如果应用的话,必须添加以下引用:
DevExpress..OfficeSkins.v9.1;
DevExpress.BonusSkins.v9.1;
除此之外,必须在“Program.cs”文件在添加如下代码:
[c-sharp] view plaincopy
erSkins.OfficeSkins.Register();
erSkins.BonusSkins.Register();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (!DevExpress.Skins.SkinManager.AllowFormSkins)
DevExpress.Skins.SkinManager.EnableFormSkins();
Application.Run(new frmMain());
其中“OfficeSkins”中的主题有:
* Office 2007 Blue
* Office 2007 Black
* Office 2007 Silver
* Office 2007 Green
* Office 2007 Pink
“BonusSkins”的主题有:
* Coffee
* Liquid Sky
* London Liquid Sky
* Glass Oceans
* Stardust
* Xmas 2008 Blue
* Valentine
* McSkin
* Summer 2008
* Pumpkin
* Dark Side
* Springtime
2. 如何快速的更换漂亮的主题
通过“foreach(SkinContainer cnt in SkinManager.Default.Skins){}”可以获取现有所有遥主题名称,可以把获取的主题添另到菜单上,让用户选择自己喜爱的主题样式。
通过对“erLookAndFeel.Default.SkinName”设置主题名称,就可以轻松的更换主题,是不是很方便?!
3. 添加类似于Office2007的窗口
Microsoft Office 2007窗口的操作面板非常漂亮,值得让人欣喜的是DevExpress里不仅有“RibbonControl”这样的控件,还有现成的Form 模板直接使用,添加一个:
添加新项—选项“DevExpress RibbomForm v9.1”,OK。
这么简单!!!
void subMenu_ItemClick(object sender, ItemClickEventArgs e)
{
switch (e.Item.Caption)
{
case "Style3D":
// erLookAndFeel.Default.Style = LookAndFeelStyle.Style3D;
erLookAndFeel.Default.SetStyle3D();
break;
case "Office2003":
// erLookAndFeel.Default.Style = LookAndFeelStyle.Office2003;
erLookAndFeel.Default.SetOffice2003Style();
break;
case "Ultra Flat":
// erLookAndFeel.Default.Style = LookAndFeelStyle.UltraFlat;
erLookAndFeel.Default.SetUltraFlatStyle();
break;
case "Flat":
// erLookAndFeel.Default.Style = LookAndFeelStyle.Flat;
erLookAndFeel.Default.SetFlatStyle();
break;
default:
// erLookAndFeel.Default.Style = LookAndFeelStyle.Skin;
erLookAndFeel.Default.SetDefaultStyle();
break;
}
erLookAndFeel.Default.SkinName = e.Item.Caption;
//。