Example4_2.ChartStyle.PlotPanelStyle C# (CSharp) 메소드

PlotPanelStyle() 공개 메소드

public PlotPanelStyle ( Graphics g ) : void
g System.Drawing.Graphics
리턴 void
        public void PlotPanelStyle(Graphics g)
        {
            Pen aPen = new Pen(ChartBorderColor, 1f);
            SolidBrush aBrush = new SolidBrush(ChartBackColor);
            SizeF tickFontSize = g.MeasureString("A", TickFont);

            // Create vertical gridlines:
            float fX, fY, xm, ym;

            aPen = new Pen(GridColor, 1f);
            aPen.DashStyle = GridPattern;
            xm = XLimMin + XTickOffset;
            if (BarType == BarTypeEnum.Vertical ||
                BarType == BarTypeEnum.VerticalOverlay ||
                BarType == BarTypeEnum.VerticalStack)
            {
                xm = XTickOffset + XLimMin + XTick / 2;
            }

            // Create vertical gridelines:
            if (IsYGrid == true)
            {

                for (fX = xm; fX < XLimMax; fX += XTick)
                {
                    g.DrawLine(aPen, Point2D(new PointF(fX, YLimMin)),
                        Point2D(new PointF(fX, YLimMax)));
                }
            }
            // Create the x-axis tick marks:
            for (fX = xm; fX < XLimMax; fX += XTick)
            {
                PointF yAxisPoint = Point2D(new PointF(fX, YLimMin));
                g.DrawLine(Pens.Black, yAxisPoint, new PointF(yAxisPoint.X,
                                   yAxisPoint.Y - 8f));
            }

            // Create horizontal gridlines:
            aPen = new Pen(GridColor, 1f);
            aPen.DashStyle = GridPattern;
            ym = YLimMin + YTickOffset;
            if (BarType == BarTypeEnum.Horizontal ||
                BarType == BarTypeEnum.HorizontalOverlay ||
                BarType == BarTypeEnum.HorizontalStack)
            {
                ym = YTickOffset + YLimMin + YTick / 2;
            }

            if (IsXGrid == true)
            {
                for (fY = ym; fY < YLimMax; fY += YTick)
                {
                    g.DrawLine(aPen, Point2D(new PointF(XLimMin, fY)),
                        Point2D(new PointF(XLimMax, fY)));
                }
            }

            // Create the y-axis tick marks:
            for (fY = ym; fY < YLimMax; fY += YTick)
            {
                PointF xAxisPoint = Point2D(new PointF(XLimMin, fY));
                g.DrawLine(Pens.Black, xAxisPoint,
                    new PointF(xAxisPoint.X + 5f, xAxisPoint.Y));
            }
            aPen.Dispose();
            aBrush.Dispose();
        }

Usage Example

        private void PlotPanelPaint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            AddData(g);
            cs.PlotPanelStyle(g);
            dc.AddBars(g, cs, dc.DataSeriesList.Count,
                       ds.PointList.Count);
            g.Dispose();
        }