public override void OnPaint(IGUIContext ctx, RectangleF bounds)
        {
            //base.OnPaint (ctx, bounds);
            //bounds = bounds.Inflate (Padding);
            bounds = new RectangleF(bounds.Left + Padding.Left, bounds.Top, bounds.Width - Padding.Width, bounds.Height);

            float iconWidth = 0;

            if (IconFont != null)
            {
                char       icon       = CheckChars [Checked.ToInt()];
                RectangleF iconBounds = bounds;
                float      cp         = Font.CaptionHeight;
                iconBounds.Offset(cp * Indent, IconOffsetY);
                ctx.DrawString(icon.ToString(), IconFont, Style.ForeColorBrush, iconBounds, FontFormat.DefaultSingleBaseLine);
                iconWidth = cp * (Indent + 1);
            }

            ctx.DrawString(Text, Font, Style.ForeColorBrush, new RectangleF(
                               bounds.Left + iconWidth,
                               bounds.Top,
                               bounds.Width - iconWidth,
                               bounds.Height),
                           FontFormat.DefaultSingleLine);
        }