Esempio n. 1
0
        /// <summary>
        /// 获得内置矩形
        /// </summary>
        /// <param name="rect">外围的矩形</param>
        /// <param name="Align">水平对齐方式</param>
        /// <param name="LineAlign">垂直对齐方式</param>
        /// <param name="InnerRectSize">内置矩形的大小</param>
        /// <returns>内置矩形</returns>
        public static System.Drawing.RectangleF GetInnerRectangle(
            System.Drawing.RectangleF rect,
            System.Drawing.StringAlignment Align,
            System.Drawing.StringAlignment LineAlign,
            System.Drawing.SizeF InnerRectSize)
        {
            float left = 0;
            float top  = 0;

            if (Align == System.Drawing.StringAlignment.Near)
            {
                left = rect.Left;
            }
            else if (Align == System.Drawing.StringAlignment.Center)
            {
                left = rect.Left + (rect.Width - InnerRectSize.Width) / 2;
            }
            else
            {
                left = rect.Right - InnerRectSize.Width;
            }
            if (LineAlign == System.Drawing.StringAlignment.Near)
            {
                top = rect.Top;
            }
            else if (LineAlign == System.Drawing.StringAlignment.Center)
            {
                top = rect.Top + (rect.Height - InnerRectSize.Height) / 2;
            }
            else
            {
                top = rect.Bottom - InnerRectSize.Height;
            }
            return(new System.Drawing.RectangleF(left, top, InnerRectSize.Width, InnerRectSize.Height));
        }
Esempio n. 2
0
        private static int ControlAlign_GetValue(int ParentValue, int CtrlValue, System.Drawing.StringAlignment align)
        {
            int rtn;

            switch (align)
            {
            case System.Drawing.StringAlignment.Near:
                rtn = 0;
                break;

            case System.Drawing.StringAlignment.Center:
                rtn = (ParentValue / 2) - (CtrlValue / 2);
                break;

            default:
                rtn = ParentValue - CtrlValue;
                break;
            }

            if (rtn < 0)
            {
                rtn = 0;
            }

            return(rtn);
        }
Esempio n. 3
0
        /// <summary>
        /// Add Legend
        /// </summary>
        /// <param name="alignment"></param>
        /// <param name="docking"></param>
        /// <param name="_chart"></param>
        public static void AddLegend(System.Drawing.StringAlignment alignment, Docking docking, ref Chart _chart)
        {
            var legend = new Legend()
            {
                Name      = "Legend",
                Alignment = alignment,
                Docking   = docking,
                Font      = new System.Drawing.Font("Arial", 10),
                BackColor = System.Drawing.Color.Transparent
            };

            _chart.Legends.Add(legend);
        }
Esempio n. 4
0
 public static int[] CalcuteAlignPosition(
     int[] Widths,
     int Spacing,
     int ContentWidth,
     System.Drawing.StringAlignment Align,
     bool SplitBlank)
 {
     if (Align == System.Drawing.StringAlignment.Near)
     {
         return(CalcuteAlignPosition(Widths, Spacing, ContentWidth, 0, SplitBlank));
     }
     if (Align == System.Drawing.StringAlignment.Center)
     {
         return(CalcuteAlignPosition(Widths, Spacing, ContentWidth, 1, SplitBlank));
     }
     if (Align == System.Drawing.StringAlignment.Far)
     {
         return(CalcuteAlignPosition(Widths, Spacing, ContentWidth, 2, SplitBlank));
     }
     return(null);
 }