/// <summary>返回一个代表图表上单个坐标轴或坐标轴集合的某个对象。
        /// </summary>
        /// <param name="Type">指定要返回的坐标轴。可为以下 XlAxisType 常量之一:xlValue、xlCategory 或 xlSeriesAxis(xlSeriesAxis 仅对三维图表有效)。</param>
        /// <param name="AxisGroup">指定坐标轴组。如果省略该参数,则使用主坐标轴组。三维图表仅有一个坐标轴组。</param>
        public dynamic Axes(XlAxisType? Type = null, XlAxisGroup AxisGroup = XlAxisGroup.xlPrimary)
        {
            _objaParameters = new object[2] {
                Type == null ? System.Type.Missing : Type,
                AxisGroup
            };

            return _objChart.GetType().InvokeMember("Axes", BindingFlags.InvokeMethod, null, _objChart, _objaParameters);
        }
Esempio n. 2
0
            /// <summary>
            /// 按不同的监测数据类型返回对应的坐标轴标签
            /// </summary>
            /// <param name="Drawing_Type"></param>
            /// <param name="MonitorType"></param>
            /// <param name="AxisType"></param>
            /// <param name="AxisGroup">此选项仅对绘制双Y轴或者双X轴的Chart时有效,否则设置了也不会进行处理。</param>
            /// <returns></returns>
            /// <remarks></remarks>
            public static string GetAxisLabel(DrawingType Drawing_Type, MntType MonitorType,
                                              XlAxisType AxisType, XlAxisGroup AxisGroup = XlAxisGroup.xlPrimary)
            {
                string strAxisLabel = "";

                switch (Drawing_Type)
                {
                // ---------------------  动态测斜曲线图  ----------------------------------------------------
                case DrawingType.Monitor_Incline_Dynamic:
                    switch (AxisType)
                    {
                    case XlAxisType.xlCategory:
                        strAxisLabel = AxisLabels.Displacement_mm;
                        break;

                    case XlAxisType.xlValue:
                        strAxisLabel = AxisLabels.Depth;
                        break;
                    }
                    break;

                // ------------------------  测斜位移最值及对应深度  -------------------------------------------------
                case DrawingType.Monitor_Incline_MaxMinDepth:
                    switch (AxisType)
                    {
                    case XlAxisType.xlCategory:
                        strAxisLabel = AxisLabels.ConstructionDate;
                        break;

                    case XlAxisType.xlValue:
                        switch (AxisGroup)
                        {
                        case XlAxisGroup.xlPrimary:
                            strAxisLabel = AxisLabels.Displacement_mm;
                            break;

                        case XlAxisGroup.xlSecondary:
                            strAxisLabel = AxisLabels.Depth;
                            break;
                        }
                        break;
                    }
                    break;

                // -----------------  测斜以外的动态监测曲线曲线图  --------------------------------------------------------
                case DrawingType.Monitor_Dynamic:
                    switch (AxisType)
                    {
                    case XlAxisType.xlCategory:
                        strAxisLabel = AxisLabels.Points;
                        break;

                    case XlAxisType.xlValue:
                        switch (MonitorType)
                        {
                        case MntType.Struts:
                            strAxisLabel = AxisLabels.AxialForce;
                            break;

                        case MntType.WaterLevel:
                            strAxisLabel = AxisLabels.Displacement_m;
                            break;

                        default:
                            strAxisLabel = AxisLabels.Displacement_mm;
                            break;
                        }
                        break;
                    }
                    break;

                // -------------------------  测斜以外的静态曲线图  ------------------------------------------------
                case DrawingType.Monitor_Static:
                    switch (AxisType)
                    {
                    case XlAxisType.xlCategory:
                        strAxisLabel = AxisLabels.ConstructionDate;
                        break;

                    case XlAxisType.xlValue:
                        switch (MonitorType)
                        {
                        case MntType.Struts:
                            strAxisLabel = AxisLabels.AxialForce;
                            break;

                        case MntType.WaterLevel:
                            strAxisLabel = AxisLabels.Displacement_m;
                            break;

                        default:
                            strAxisLabel = AxisLabels.Displacement_mm;
                            break;
                        }
                        break;
                    }
                    break;

                case DrawingType.Xls_SectionalView:
                    switch (AxisType)
                    {
                    case XlAxisType.xlCategory:
                        strAxisLabel = AxisLabels.Excavation;
                        break;

                    case XlAxisType.xlValue:
                        strAxisLabel = AxisLabels.Elevation;
                        break;
                    }
                    break;
                }
                return(strAxisLabel);
            }