DevExpress使用

概述

Devexpress 官方文档

Devexpress 中文帮助文档

DevExpress各大版本支持的VS版本和支持的.net版本

关于VS中看不到DevExpress的控件的分析和解决方案和各个版本对VS版本和.net版本支持图

查看是否破解:在vs中点扩展->DevExpress->Your licence Infomation

正版授权离线注册步骤:  DevExpress正版授权离线注册操作步骤

BaseView

事件ValidatingEditor

当用户编辑了一个行单元格的值,并试图选择另一个单元格时,会触发。处理这个事件以检查这个新值是否有效,如果不是,选择所需的行为(丢弃编辑,显示警告信息,忽略错误,或将焦点保持在这个单元格上直到用户输入有效的值)。这个事件也允许跟踪在编辑表格中进行的编辑。

 

XtraEditors 编辑控件

1、ComboBoxEdit

数据绑定: ComboBoxEdit控件不像 LookUpEdit控件拥有DataSource属性,可以直接绑定一个数据集。 下面我们使用 ComboBoxEdit的comboBoxEdit1.Properties.Items.Add(object item)方法来实现数据绑定.

选中某项:cBox.SelectedIndex =1

选中改变事件:comboBoxEdit1_SelectedIndexChanged

 

2、ImageComboBoxEdit

ImageComboBoxEdit

带图片的下拉框

Items属性,是一个ImageComboBoxItem对象,有值属性(value)、描述(text)、图像(image),

When an item is selected, its value is assigned to the control’s ImageComboBoxEdit.EditValue property, and its text and image are displayed in the edit box.

support two image lists. The RepositoryItemImageComboBox.LargeImages and RepositoryItemImageComboBox.SmallImages properties are introduced for this purpose,分别显示在edit box中和dropdown中。

 

3、ChartControl

SeriesDataMember

获取或设置包含自动生成series的数据字段的名称【即用哪一列数据作为Series显示为线条,例如,年份,每一年都有一条线】。

它指定了在自动创建和填充Series对象时其值被考虑的数据字段。

SeriesNameTemplate

该属性提供了对定义系列名称前缀和后缀文本的特定设置的访问,这些系列名称是动态创建的

https://docs.devexpress.com/WindowsForms/images/seriesnametemplate9558.png

SeriesTemplate

返回图表用于生成其系列Series的系列模板【即设置图表中的X、y】

  • SeriesTemplate.ArgumentDataMember:获取或设置包含系列点参数的数据字段的名称
  • SeriesTemplate.ValueDataMembers:获取包含系列点值的数据字段的名称集合。
  • CrosshairLabelPattern:获取或设置一个字符串,该字符串代表当前系列类型的十字准线标签中要显示的文本的模式。\n 换行

A full list of available placeholders is detailed below.

PatternDescription
{S} Displays the name of the series.
{A} Displays a series point argument.
{V} Displays series point values.
  • SeriesBase.SetDataMembers(String, String):指定数据成员,系列使用其值来填充系列点的参数和值。

参考:

WinForm DevExpress使用之ChartControl控件绘制图表

4、GridView

CustomDrawCell

对所有当前可见的数据单元触发,允许你手动绘制它们。请注意,当你打印或导出网格数据时,你在该事件上应用的修改会被忽略。

 

5、EditorContainer

RepositoryItems

提供对控件内部就地编辑资源库的访问。

图例

有很久内部的编辑器可选,RepositoryItemDateEdit、RepositoryItemTextEdit

 

XtraCharts

是一套专业的.NET图表控件,多种图表类型、拥有一组备用的特殊可视化指标线、拥有实时监视功能、拥有可比较/可对比的分析功能、同时还拥有财务图表功能。

包括:ChartControl、透视图表PivotGridControl和XRChart

Chart Control

示例程序,在安装包中,可以在 开始 菜单 (程序 | Developer Express v2010 vol 2 | Demo Center)

基础

1、Diagram

A diagram is a chart’s main area, where most of its data and graphical elements are displayed (e.g. series, axes and panes), even although some of these elements do not actually belong to a Diagram object (such as Series). For a complete list of chart elements, refer to Chart Elements.

注意: 你不能手动设置Diagram属性。它只可用于序列化的目的而被设置。关于图表控件的图表的更多信息,请参见图表主题和图表对象的描述。 

chartControl中的Diagram属性 仅当在添加一个Series之后才可编辑。。

2、一个图表最基本的元素是数据点。一组数据点代表一个系列。点位于Series.Points集合中,在至少有一个数据点被指定之前,任何系列都不会被显示。

  支持很多种系列,所以有Line、Bar...的数据点系列。每个数据点必须有一个参数和至少一个与之对应的值。一般来说,一个参数和它的值的配对在图表的坐标轴上分别表示为它们的X和Y坐标。

3、Series

A series is a collection of data points, which is not displayed until at least one point is specified.

series位于ChartControl.Series集合中。在其中至少有一个可见的series之前,chart和chart's diagram是空的

ArgumentDataMember

ArgumentScaleType

 

Series Point Labels

每个系列点(Series point)都可以有一个文本标签,代表与该点有关的数据。这些就是系列点的标签(或简称系列标签Series Lable)。

描述了系列点如何伴随着文本标签,如何控制它们所显示的数据以及它们的输出格式。它描述了在标签过长和过多的情况下解决标签重叠的方法。此外,它还解释了如何访问系列标签,以及调整其外观的方法。

 

快速入门

1、创建一个简单的非绑定图表

Lesson 1 - Create a Simple Unbound Chart

拖入一个ChartControl控件,注意: 为了使图表占据Form上的所有可用空间,请点击图表的智能标签(倒三角),并在其操作列表中点击停靠在父容器中

在智能标签中单击Series,单击add,选择view的类型,

注意,图表集合中第一个可见系列的视图类型决定了其图表类型。例如,选择Bar系列,为图表获得XY类型。

XtraCharts会自动检测系列参数的数据类型。这意味着在为图表提供数据之前,你不需要指定SeriesBase.ArgumentScaleType属性,因为它默认被设置为自动。只要确保SeriesBase.ValueScaleType属性的默认值符合你对某些视图类型的要求。否则,请选择另一种数值标度类型(例如,对于Bar系列视图)。

然后手动在Points tab中增加数据。

在你的图表中,你可以根据需要创建任意多的不同系列。此外,你可以在同一个图表中结合不同视图类型的系列,如果这些视图类型是兼容的(可以看哪个跟哪个是兼容的)。例如,添加一个Spline系列。【Argument参数可以不一样,x轴会显示所有系列的agrument的并集】

设置外观属性:

  • 启用数据点标记:页面中单击选中Series部分,Spline系列才支持,设置其属性:MarkerVisibility=true,
  • 自定义图例:默认是在右上角, 展开ChartControl.Legend,设置LegendBase.AlignmentHorizontal=Center,LegendBase.AlignmentVertical=TopOutside,LegendBase.Direction=LeftToRight。
  • 添加一条恒定线:为了突出任何轴上的一个值。要做到这一点,在属性窗口ChartControl.Diagram属性,然后是AxisY,单击ConstantLines属性的省略号按钮,打开对话框,增加一条线,并设置属性:名称、值、颜色、是否显示在底层。
  • 在不同窗格(pane)中显示系列:选中下面的Series,其View属性的Pane属性,改为New Pane(会自动创建一个新pane)
  • 自定义十字(Crosshair)光标:
  1. 鼠标放在数据点上时,会显示出值的大小,通过设置 series.CrosshairEnabled =false 可以不显示值。。
  2. 图表上显示十字准星轴线和十字准星轴标签:chartControl属性中找到CrosshairOptions对象,并将其CrosshairOptions.ShowValueLine、CrosshairOptions.ShowArgumentLabels和CrosshairOptions.ShowValueLabels属性设置为true

2、通过向导来创建

3、将图表系列与数据绑定

参考:Data Source Wizard绑定Json数据

 

3D显示

Line Series

Line chart是由Line3DSeriesView对象表示的,它属于折线系列视图。当你需要在同一张图上显示几个系列的趋势,以及比较几个系列在相同点上的参数值时,这个视图很有用。

The table below lists the main characteristics of this chart type.

FeatureValue
Series View type Line3DSeriesView
Diagram type XYDiagram3D
Number of arguments per series point 1
Number of values per series point 1

在同一个图表中,不可能绘制2D和3D系列

 

TabPage

xtraTabControl

1、XtraTabPage怎么设置关闭按钮

需要首先设置XtraTabControl的ClosePageButtonShowMode为InActiveTabPageHeaderAndOnMouseHover,使XtraTabControl的XtraTabPage显示关闭按钮。

然后即可单独设置每个XtraTabPage的关闭按钮的显示,通过page的ShowCloseButton来设置。关闭事件:

 private void xtraTabControl1_CloseButtonClick(object sender, EventArgs e)
        {
            //this.xtraTabControl1.TabPages.Remove(this.xtraTabControl1.SelectedTabPage);
ClosePageButtonEventArgs arg = e as ClosePageButtonEventArgs;
XtraTabPage tabPage=arg.Page as XtraTabPage;
this.xtraTabControl1.TabPages.Remove(tabPage);
        }

2、xtraTabControl标签页关闭与添加(删除与添加)

参考:devExpress,xtraTabControl标签页关闭与添加(删除与添加)

 

进度

SplashScreenManager

包括两部分:Splash Screen(闪屏,用于开机画面等)和Wait Form(做进度条显示)

DevExpress21:SplashScreenManager控件实现启动闪屏和等待信息窗口

Splash Screen Manager   (https://慧都/doclib/s/2/14877)

如何在覆盖表单上显示自定义按钮  (https://慧都/doclib/s/2/14879)查看github上的示例

 

若Wait Form需要加一个关闭按钮,参考:

https://github.com/DevExpress-Examples/winforms-spreadsheet-create-custom-progress-indicator

How to: Create a Custom Progress Indicator for the Spreadsheet Control

 

问题

1、3D曲面 xyz曲面支持吗?

参考:Chart 3d x-y-z surface - mesh

目前,我们没有为WinForms提供3D曲面图。这样的图表控件在WPF平台上是可用的。请参考Chart3D控件->表面系列视图和SurfaceSeriesView类主题。
我们没有立即为WinForms平台引入这种控件的计划。然而,我已经把你的请求转给了我们的研发团队。我们会在未来引入新的控件和功能时考虑到这一点。

在devexpress19版本中,3D图表表面是否可用?
如果可以的话,请告诉我如何创建3D表面。

不,我们的ChartControl不支持3D表面系列视图。作为一个即时的解决方法,你可以在你的WinForms应用程序中嵌入Chart3DControl for WPF,如上所述。如果你需要任何澄清,请告诉我。

2、破解后还弹出试用框的问题

关于解决DevExpress用DevExpress patch工具破解后经常弹出试用框的问题
参考:https://blog.csdn.net/u012097590/article/details/77178591

 

3、如何在覆盖表单上显示自定义按钮

如何在覆盖表单上显示自定义按钮

 

posted @ 2022-07-12 12:16  peterYong  阅读(1758)  评论(0编辑  收藏  举报