← 返回所有博客文章

ComponentOne 控件套包中提供了丰富的图表类型,包括:曲线图、柱状图、条形图、饼图、雷达图等共计80余中2D和3D图表。用户可以通过图表设计器来设计图表样式,同时,可以通过代码来设置图表的所有属性,本文主要讲解如何通过代码来动态创建 C1Chart for WinForms 控件。

首先,创建一个WinForms应用程序,从工具箱中将C1Chart添加到窗体上,然后,在窗体代码中添加以下代码:

 

 

		private void Form1_Load(object sender, System.EventArgs e)
		{
            c1Chart1.UseAntiAliasedGraphics = true;
			ChartGroup cg = c1Chart1.ChartGroups.Group0;
			// 设置图表类型为圆环图
			cg.ChartType = Chart2DTypeEnum.Pie;
			// 圆环图的半径
			cg.Pie.InnerRadius = 30;
			// 创建图表系列
			ChartDataSeriesCollection cdsc = cg.ChartData.SeriesList;
			foreach(ChartDataSeries cds in cdsc)
			{
				// 获取第一个系列的位置
				if(cds.Label == "series 0")
					cds.Offset = 30;
				if(cds.Length > 1)
					cds.PointData.Length = 1;
				// 饼图区域的透明度
				cds.FillStyle.Alpha = 50;
				// 工具提示显示的文本
                cds.TooltipText = "%%%";
                // 为每个区域增加标签文本
                DataLabel dlab = cds.DataLabel;
                dlab.Compass = LabelCompassEnum.RadialText;
                dlab.Offset = -2;
                dlab.Text = "%%%";
                dlab.Style.BackColor = Color.Transparent;
                dlab.Style.Border.BorderStyle = BorderStyleEnum.None;
                dlab.Visible = true;
			}
			View3D v = c1Chart1.ChartArea.PlotArea.View3D;
			v.Depth = 10;
			v.Elevation = 45;
            // 开启图表工具提示
			c1Chart1.ToolTip.Enabled = true;
			// 开启鼠标移动高亮显示
			cg.ChartData.HighLight.Activation = HighlightActivationEnum.MouseOver;
			// 设置图例
			c1Chart1.Legend.Visible = true;
			// 设置颜色和边线
			Style sty = c1Chart1.Style;
			sty.GradientStyle = GradientStyleEnum.HorizontalCenter;
			sty.BackColor = Color.White;
			sty.BackColor2 = Color.LightBlue;
			Border bord = sty.Border;
			bord.BorderStyle = BorderStyleEnum.None;
			bord.Rounding.All = 10;
			bord.Thickness = 3;
			bord.Color = Color.Blue;
			// 设置图列区域的样式
			sty = c1Chart1.Legend.Style;
			sty.BackColor = Color.Transparent;
			sty.GradientStyle = GradientStyleEnum.None;
            // 设置图表区域样式
			sty = c1Chart1.ChartArea.Style;
			sty.BackColor = Color.Transparent;
			sty.GradientStyle = GradientStyleEnum.None;
			Form1_Resize(null, null);
		}

C1Chart

 

源码下载:VS2010 + C1 Studio for WinForms 2013V1