100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > C# DevExpress组件 - ChartControl图表控件

C# DevExpress组件 - ChartControl图表控件

时间:2021-05-20 04:36:30

相关推荐

C# DevExpress组件 - ChartControl图表控件

C# DevExpress组件 - ChartControl图表控件学习-整体感知(一)

1 逻辑框架图梳理

以逻辑框架图,进行代码验证

2 代码实现

2.1 实现内容

代码实现:添加一个ChartControl图表控件,并提供显示三个变量显示在三个位置

2.2 初始界面配置

添加一个menustrip组件,并防止顶部,界面如下:

双击:添加一个ChartControl控件 按钮,编写添加相关程序

2.3 代码

using DevExpress.XtraCharts;using System;using System.Windows.Forms;namespace chartcontrolText{public partial class Form1 : DevExpress.XtraEditors.XtraForm{public Form1(){InitializeComponent();}private void 添加一个ChartControl控件ToolStripMenuItem_Click(object sender, EventArgs e){#region//////ChartControl对象:chartControl1///ChartControl chartControl1 = new ChartControl();chartControl1.Parent = this;chartControl1.Dock = DockStyle.Fill;//////XYDiagram对象:xyDiagram1///XYDiagram xyDiagram1 = new XYDiagram();//////XYDiagramPane对象:xyDiagramPane1///XYDiagramPane xyDiagramPane1 = new XYDiagramPane();XYDiagramPane xyDiagramPane2 = new XYDiagramPane();//////将XYDiagramPane对象:xyDiagramPane1,添加到XYDi中agram对象:xyDiagram1///xyDiagram1.Panes.AddRange(new XYDiagramPane[] {xyDiagramPane1, xyDiagramPane2 });//////Series对象:series1///Series series1 = new Series();Series series2 = new Series();Series series3 = new Series();//////将Series对象:series1,添加到ChartControl对象:chartControl1///chartControl1.SeriesSerializable = new Series[] {series1, series2, series3 };//////xxxSeriesView系列视图对象:lineSeriesView1///LineSeriesView lineSeriesView1 = new LineSeriesView();LineSeriesView lineSeriesView2 = new LineSeriesView();LineSeriesView lineSeriesView3 = new LineSeriesView();//////将xxxSeriesView系列视图对象:lineSeriesView1,绑定到对应的系列对象中,即指定系列的系列视图类型///series1.View = lineSeriesView1;series2.View = lineSeriesView2;series3.View = lineSeriesView3;//////以下是必不可少的,如果没有,chartControl1.Diagram = xyDiagram1;语句会报错///语句数量由:ChartControl对象个数、Series对象个数、xxxSeriesView系列视图对象个数决定///((ponentModel.ISupportInitialize)(chartControl1)).BeginInit();((ponentModel.ISupportInitialize)(xyDiagram1)).BeginInit();((ponentModel.ISupportInitialize)(xyDiagramPane1)).BeginInit();((ponentModel.ISupportInitialize)(xyDiagramPane2)).BeginInit();((ponentModel.ISupportInitialize)(series1)).BeginInit();((ponentModel.ISupportInitialize)(lineSeriesView1)).BeginInit();((ponentModel.ISupportInitialize)(series2)).BeginInit();((ponentModel.ISupportInitialize)(lineSeriesView2)).BeginInit();((ponentModel.ISupportInitialize)(series3)).BeginInit();((ponentModel.ISupportInitialize)(lineSeriesView3)).BeginInit();//////将XYDiagramPane对象:xyDiagramPane1,添加到ChartControl对象:chartControl1中///chartControl1.Diagram = xyDiagram1;//////为具体的XY图表板添加具体的数据,即让指定的Series对象显示在具体的XY图面板中///xyDiagramPane1.Name = "Pane_1";xyDiagramPane2.Name = "Pane_2";lineSeriesView2.PaneName = xyDiagramPane1.Name;lineSeriesView3.PaneName = xyDiagramPane2.Name;#endregion}}}

2.4 执行结果

3 出错点分析

(1)

初始代码编写过程无如下代码:

在执行时出错:

当加入后就可解决该问题

(2)

当未对xyDiagramPane1对象指定Name属性时,即无如下代码

xyDiagramPane1.Name = "Pane_1";xyDiagramPane2.Name = "Pane_2";

而是直接进行指定lineSeriesView2的PaneName 时

lineSeriesView2.PaneName = xyDiagramPane1.Name;lineSeriesView3.PaneName = xyDiagramPane2.Name;

会出现未绑定series实例数据的空XY图表面板,如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。