图表设计器是一种运行时设计器,该设计器使最终用户可以可视化的更改图表属性来自定义图表。这样的设计器在仪表板设计器等应用程序中非常方便,这些应用程序要求最终用户在运行时根据要求自定义图表。
FlexChart Designer是一个紧凑而响应迅速的设计器,它在程序运行时单击图表元素就可以出现,并提供一个用户界面来更改与Chart,Data,Header,Footer,Legend, X-Axis, Y-Axis和Data Labels等有关的各种设置。
当用户将鼠标光标移到图表上时,图表元素(例如绘图区域,x轴,y轴,图例,页眉和页脚)会突出显示。首次单击这些元素中的任何一个时,ChartDesigner出现,并显示相应图表元素的属性列表。设计器中的此属性列表会根据图表区域中选择的元素而变化。您也可以从设计器左上角的下拉菜单中选择所需的图表元素。下表描述了FlexChart Designer下拉菜单提供的每个选项。
下拉选项 | 说明 |
Chart | 显示与图表外观相关的属性,例如BackColor,ForeColor,PlotColor,Font和Stacking。它还提供了ChartType属性,使您可以在运行时将图表类型更改为任何基本图表。对于饼图,树形图或旭日图等图表,不会显示此属性。 |
Data | 显示图表的所有数据字段。它使您只需将数据字段拖放到窗口右侧的X轴和Y轴部分,即可绑定数据。您可以使用此选项轻松创建多个系列或多个饼图。 |
Header | 让您自定义图表标题。使用此选项,您可以通过诸如Content,Color,Font,Border,BorderFill等属性添加,删除,编辑或设置标题内容的样式。 |
Footer | 使您可以自定义图表表脚。使用此选项,您可以通过诸如Content,Color,Font,Border,BorderFill等属性添加,删除,编辑或设置表脚内容的样式。 |
Legend | 允许您指定图表的图例相关设置。您可以使用诸如Title,Position,ForeColor,Font等属性选择隐藏,显示或设置图表图例的样式。 |
X-Axis | 显示与图表X轴相关的属性,例如Title,Labels,LabelAngle,Min,Max,MajorTicks等。对于饼图,树形图或旭日图等图表,此选项不会出现在下拉菜单列表中。 |
Y-Axis | 显示与图表Y轴相关的属性,例如Title,Labels,LabelAngle,Min,Max,MajorTicks等。对于饼图,树形图或旭日图等图表,此选项不会出现在下拉菜单列表中。 |
Data Label | 使您可以在图表上显示,隐藏,定位或设置数据点的值。设计器提供的一些与数据标签相关的属性包括Content,Color,Font,Connecting Line,Position等。 |
调用FlexChart Designer
在FlexChart中,FlexChart Designer由C1.Win.FlexChart.Designer程序集的C1.Win.Chart.Designer命名空间中提供的ChartDesigner类表示。通过创建ChartDesigner类的实例并将FlexChart控件作为参数传递给此ChartDesigner构造函数,可以轻松地为特定的FlexChart调用设计器。
CS
private void Form1_Load(object sender, EventArgs e) { FlexChart chart = new FlexChart() { BindingX = "Country", DataSource = SampleData.GetCountryData(), Dock = DockStyle.Fill }; chart.Series.Add(new Series() { Name = "Sales", Binding = "Sales" }); chart.Series.Add(new Series() { Name = "Expenses", Binding = "Expenses" }); chart.ChartType = C1.Chart.ChartType.Column; var designer = new ChartDesigner(chart); this.Controls.Add(chart); }
请注意,FlexChart Designer的源代码以名为ChartDesigner的示例项目的形式提供,因此您可以根据应用程序要求对其进行自定义。如果您在安装WinForms Edition时安装了示例(默认会安装),则ChartDesigner示例项目位于系统上的\文档\ComponentOne Samples\WinForms\v4.5.2\C1FlexChart\CS\ChartDesigner 中。