using DevExpress.XtraCharts; using System.Drawing; namespace IStation.WinFrmUI.Curve { /// /// 曲线图表默认配置 /// public class XtraChartHelper { #region SetAxisRange public static void SetAxisRange(AxisX axis, double minValue, double maxValue) { axis.VisualRange.Auto = false; axis.WholeRange.Auto = false; axis.NumericScaleOptions.AutoGrid = false; axis.WholeRange.SideMarginsValue = 0; axis.VisualRange.SideMarginsValue = 0; axis.WholeRange.SetMinMaxValues(minValue, maxValue); axis.VisualRange.SetMinMaxValues(minValue, maxValue); } public static void SetAxisRange(AxisY axis, double minValue, double maxValue) { axis.VisualRange.Auto = false; axis.WholeRange.Auto = false; axis.NumericScaleOptions.AutoGrid = false; axis.WholeRange.SideMarginsValue = 0; axis.VisualRange.SideMarginsValue = 0; axis.WholeRange.SetMinMaxValues(minValue, maxValue); axis.VisualRange.SetMinMaxValues(minValue, maxValue); } public static void SetAxisRange(SecondaryAxisY axis, double minValue, double maxValue) { axis.VisualRange.Auto = false; axis.WholeRange.Auto = false; axis.NumericScaleOptions.AutoGrid = false; axis.WholeRange.SideMarginsValue = 0; axis.VisualRange.SideMarginsValue = 0; axis.WholeRange.SetMinMaxValues(minValue, maxValue); axis.VisualRange.SetMinMaxValues(minValue, maxValue); } public static void SetAxisRange(AxisY axis, double minValueWhole, double maxValueWhole, double minValueVisual, double maxValueVisual) { axis.VisualRange.Auto = false; axis.WholeRange.Auto = false; axis.NumericScaleOptions.AutoGrid = false; axis.WholeRange.SideMarginsValue = 0; axis.VisualRange.SideMarginsValue = 0; axis.WholeRange.SetMinMaxValues(minValueWhole, maxValueWhole); axis.VisualRange.SetMinMaxValues(minValueVisual, maxValueVisual); } public static void SetAxisRange(SecondaryAxisY axis, double minValueWhole, double maxValueWhole, double minValueVisual, double maxValueVisual) { axis.VisualRange.Auto = false; axis.WholeRange.Auto = false; axis.NumericScaleOptions.AutoGrid = false; axis.WholeRange.SideMarginsValue = 0; axis.VisualRange.SideMarginsValue = 0; axis.WholeRange.SetMinMaxValues(minValueWhole, maxValueWhole); axis.VisualRange.SetMinMaxValues(minValueVisual, maxValueVisual); } #endregion public static void SetDisplay(AxisX AxisQ, AxisY QHAxisY, SecondaryAxisY QEAxisY, SecondaryAxisY QPAxisY) { AxisQ.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CoordColorQ; AxisQ.Label.TextColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CoordColorQ; AxisQ.Title.TextColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CoordColorQ; AxisQ.GridLines.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLinesColorX; AxisQ.GridLines.MinorColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLinesColorX; AxisQ.MinorCount = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.MinorCountQ; AxisQ.Label.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisLabelFontQ; AxisQ.Title.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisTitleFontQ; AxisQ.GridLines.MinorVisible = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.IsDispMinorLineX; AxisQ.GridLines.LineStyle.DashStyle = (DevExpress.XtraCharts.DashStyle)IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLineTypeX; AxisQ.GridLines.MinorVisible = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.IsDispMinorLineX; if (QHAxisY != null) { QHAxisY.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQH; QHAxisY.Label.TextColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQH; QHAxisY.Title.TextColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQH; QHAxisY.GridLines.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLinesColorY; QHAxisY.GridLines.MinorColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLinesColorY; QHAxisY.GridLines.MinorVisible = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.IsDispMinorLineY; QHAxisY.GridLines.LineStyle.DashStyle = (DevExpress.XtraCharts.DashStyle)IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLineTypeY; QHAxisY.MinorCount = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.MinorCountH; QHAxisY.Label.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisLabelFontH; QHAxisY.Title.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisTitleFontH; QHAxisY.GridLines.MinorVisible = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.IsDispMinorLineY; } if (QEAxisY != null) { QEAxisY.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQE; QEAxisY.Label.TextColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQE; QEAxisY.Title.TextColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQE; //QEAxisY.MinorCount = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.MinorCountE; //QEAxisY.Label.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisLabelFontY; //QEAxisY.Title.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisTitleFontY; QEAxisY.GridLines.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLinesColorY; QEAxisY.GridLines.MinorColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLinesColorY; QEAxisY.GridLines.MinorVisible = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.IsDispMinorLineY; QEAxisY.GridLines.LineStyle.DashStyle = (DevExpress.XtraCharts.DashStyle)IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLineTypeY; QEAxisY.MinorCount = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.MinorCountE; QEAxisY.Label.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisLabelFontE; QEAxisY.Title.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisTitleFontE; QEAxisY.GridLines.MinorVisible = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.IsDispMinorLineY; } if (QPAxisY != null) { QPAxisY.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQP; QPAxisY.Label.TextColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQP; QPAxisY.Title.TextColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQP; QPAxisY.MinorCount = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.MinorCountP; //QPAxisY.Label.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisLabelFontY; //QPAxisY.Title.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisTitleFontY; //QPAxisY.GridLines.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLinesColorY; QPAxisY.GridLines.MinorColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLinesColorY; QPAxisY.GridLines.MinorVisible = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.IsDispMinorLineY; QPAxisY.MinorCount = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.MinorCountP; QPAxisY.Label.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisLabelFontP; QPAxisY.Title.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AxisTitleFontP; QPAxisY.GridLines.MinorVisible = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.IsDispMinorLineY; QPAxisY.GridLines.LineStyle.DashStyle = (DevExpress.XtraCharts.DashStyle)IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLineTypeY; } AxisQ.Label.TextPattern = "{A:#,#}"; } public static void SetAxisName(AxisX AxisQ, string strName = "流量", Unit.eUnitQ unit = Unit.eUnitQ.M3M) { AxisQ.Title.Text = string.Format("{0}({1})", strName, Unit.UnitQHelper.GetCnUnitName(unit)); } public static void SetAxisName(AxisY QHAxisY, string strName = "扬程", Unit.eUnitH unit = Unit.eUnitH.M) { QHAxisY.Title.Text = string.Format("{0}/{1}", strName, Unit.UnitHHelper.GetEnUnitName(unit)); } public static void SetCurveDisplay(Series SeriesQHcurve, Series SeriesQEcurve, Series SeriesQPcurve) { if (SeriesQHcurve != null) SeriesQHcurve.View.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQH; if (SeriesQEcurve != null) SeriesQEcurve.View.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQE; if (SeriesQPcurve != null) SeriesQPcurve.View.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQP; } public static void SetSeriesQH(Series seriesQH) { seriesQH.View.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointColorQH; (seriesQH.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.Size = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointSizeQH; (seriesQH.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.Kind = (MarkerKind)IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointKindQH; } public static void SetPointDisplay(Series SeriesQHpoint, Series SeriesQEpoint, Series SeriesQPpoint) { if (SeriesQHpoint != null) { SeriesQHpoint.View.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointColorQH; if (SeriesQHpoint.View is DevExpress.XtraCharts.PointSeriesView) { (SeriesQHpoint.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.BorderColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointColorQH; } (SeriesQHpoint.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.Size = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointSizeQH; (SeriesQHpoint.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.Kind = (MarkerKind)IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointKindQH; } if (SeriesQEpoint != null) { SeriesQEpoint.View.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointColorQE; if (SeriesQEpoint.View is DevExpress.XtraCharts.PointSeriesView) { (SeriesQEpoint.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.BorderColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointColorQE; } (SeriesQEpoint.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.Size = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointSizeQE; (SeriesQEpoint.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.Kind = (MarkerKind)IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointKindQE; } if (SeriesQPpoint != null) { SeriesQPpoint.View.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointColorQP; if (SeriesQEpoint.View is DevExpress.XtraCharts.PointSeriesView) { (SeriesQPpoint.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.BorderColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointColorQP; } (SeriesQPpoint.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.Size = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointSizeQP; (SeriesQPpoint.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.Kind = (MarkerKind)IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.PointKindQP; } } public static void SetDisplay(DevExpress.XtraCharts.Strip WorkRegionStrip) { // WorkRegionStrip.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.DispColorWorkRegion; } public static void SetDisplay(DevExpress.XtraCharts.TextAnnotation TextAnnotationQH, DevExpress.XtraCharts.TextAnnotation TextAnnotationQE, DevExpress.XtraCharts.TextAnnotation TextAnnotationQP) { TextAnnotationQH.Text = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoTextQH; TextAnnotationQE.Text = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoTextQE; TextAnnotationQP.Text = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoTextQP; /*TextAnnotationQH.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoFontQH; TextAnnotationQE.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoFontQE; TextAnnotationQP.Font = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoFontQP;*/ //TextAnnotationQH.TextColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoColorQH; //TextAnnotationQE.TextColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoColorQE; //TextAnnotationQP.TextColor = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoColorQP; //TextAnnotationQH.Border.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoColorQH; //TextAnnotationQE.Border.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoColorQE; //TextAnnotationQP.Border.Color = IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoColorQP; TextAnnotationQH.ConnectorStyle = (DevExpress.XtraCharts.AnnotationConnectorStyle)IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoConnTypeQH; TextAnnotationQE.ConnectorStyle = (DevExpress.XtraCharts.AnnotationConnectorStyle)IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoConnTypeQE; TextAnnotationQP.ConnectorStyle = (DevExpress.XtraCharts.AnnotationConnectorStyle)IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.AnnoConnTypeQP; } public static void SetMonoColor(DevExpress.XtraCharts.ChartControl chartControl1) { for (int i = 0; i < chartControl1.Series.Count; i++) { var s = chartControl1.Series[i]; s.View.Color = Color.Black; if (s.View is DevExpress.XtraCharts.PointSeriesView) { (s.View as DevExpress.XtraCharts.PointSeriesView).PointMarkerOptions.BorderColor = Color.Black; } } var theChartDiagram = (XYDiagram)chartControl1.Diagram; var axisX = theChartDiagram.AxisX; var axisY = theChartDiagram.AxisY; axisX.Color = Color.Black; axisX.Label.TextColor = Color.Black; axisX.Title.TextColor = Color.Black; axisX.GridLines.Color = Color.Black; axisX.GridLines.MinorColor = Color.Gray; axisY.Color = Color.Black; axisY.Label.TextColor = Color.Black; axisY.Title.TextColor = Color.Black; axisY.GridLines.Color = Color.Black; axisY.GridLines.MinorColor = Color.Gray; for (int i = 0; i < theChartDiagram.SecondaryAxesY.Count; i++) { var axis = theChartDiagram.SecondaryAxesY[i]; axis.Color = Color.Black; axis.Label.TextColor = Color.Black; axis.Title.TextColor = Color.Black; axis.GridLines.Color = Color.Black; axis.GridLines.MinorColor = Color.Gray; } for (int i = 0; i < axisX.Strips.Count; i++) { axisX.Strips[i].Color = Color.Gray; } for (int i = 0; i < theChartDiagram.AxisX.ConstantLines.Count; i++) { var line = theChartDiagram.AxisX.ConstantLines[i]; line.Color = Color.Black; line.Title.TextColor = Color.Black; } for (int i = 0; i < chartControl1.AnnotationRepository.Count; i++) { if (chartControl1.AnnotationRepository[i] is DevExpress.XtraCharts.TextAnnotation) { var t = (chartControl1.AnnotationRepository[i] as DevExpress.XtraCharts.TextAnnotation); t.TextColor = Color.Black; t.Border.Color = Color.Black; t.BackColor = Color.White; } } } public static Color GetEquipCurveColor() { return Color.Red; } public static Color GetCurveColorQH() { return IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQH; } public static Color GetCurveColorQE() { return IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQE; } public static Color GetCurveColorQP() { return IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.CurveColorQP; } public static Color GridLinesColorX { get { return IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLinesColorX; } } public static Color GridLinesColorY { get { return IStation.WinFrmUI.Curve.Cookie.ChartDisp.Default.GridLinesColorY; } } public static Color CurveColorEquipCurve { get { return Color.Blue; } } public static int CurveWidthEquipCurve { get { return 1; } } } }