为了弄一个实时数据显示的窗口,最近一周时间都耗在这个控件上了,属性有点多(下面列的是一些常用的)
后来干脆写代码把他们封装起来,各个chart直接来调用它,省得到属性里面去设置。
chart内的一些元素:
chart控件的主要两个属性为 chartAreas和Series。
void chartProperty(Chart chartName) //封装 图表属性
{
//chartAreas属性 (图表区域)
chartName.ChartAreas[].BackColor = Color.Black; //背景颜色:黑(此处设为黑,其他设为白 才可看见)
chartName.ChartAreas[].BorderColor = Color.White ; //边框颜色:白 chartName.ChartAreas[].AxisX.LabelStyle.ForeColor = Color.White;
chartName.ChartAreas[].AxisX.Title = "时间"; //X轴标题为“时间”
chartName.ChartAreas[].AxisX.TitleForeColor = Color.White; //“时间”颜色为白色
chartName.ChartAreas[].AxisX.Maximum = ;
chartName.ChartAreas[].AxisX.Minimum = ;
chartName.ChartAreas[].AxisX.Interval = ; //轴刻度间隔
chartName.ChartAreas[].AxisX.LineColor = Color.White; //轴线颜色 chartName.ChartAreas[].AxisX.MajorGrid.LineColor = Color.White;
chartName.ChartAreas[].AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash;//网格刻线为虚线、白色 //series属性 图表数据集
//chartName .Series [0].XValueMember =
//chartName .Series [0].YValueMembers =
chartName.Series[].ChartType = SeriesChartType.Spline; //图表类型 样条曲线
chartName.Series[].Color = Color.Green; //图形颜色 绿色
chartName.Series[].BorderWidth = ; //曲线宽度 4
//曲线上边 每个数的标记
chartName.Series[].MarkerColor = Color.Red;
chartName.Series[].MarkerBorderColor = Color.Yellow;
chartName.Series[].MarkerBorderWidth = ;
chartName.Series[].MarkerStyle = MarkerStyle.Circle; //圆形标记 chartName.Series[].IsValueShownAsLabel = true; //曲线上的数字是否显示
chartName.Series[].LabelForeColor = Color.White; //曲线上数字颜色 }
当然还有chart本身的size、name、anchor、backcolor、datasource等属性,还有chartAreas的position属性也是需要设置的。
//窗口最小化的情况下 ,排列好位置
void minHua() {
chartAmperage.Height = ;
chartAmperage.Top = ; chartVoltage.Height = ; //高度, 上边缘
chartVoltage.Top = ; chartWFS.Height = ;
chartWFS.Top = ; chartWeldScore.Height = ;
chartWeldScore.Top = ; chartGSF.Height = ;
chartGSF.Top = ;
}
用两个定时器组件 实现数据实时显示
也可参考:C# chart控件实时动态显示数据