/// <summary>
 ///		Limpia los recursos que se estén utilizando.
 /// </summary>
 protected override void Dispose(bool blnDisposing)
 {               // Elimina los objetos
     if (blnDisposing)
     {
         objStyle = null;
     }
     // Llama al base para eliminar los objetos
     base.Dispose(blnDisposing);
 }
 /// <summary>
 ///		Constructor del control
 /// </summary>
 public LabelRound()
 {               // Inicializa los estilos
     SetStyle(ControlStyles.DoubleBuffer, true);
     SetStyle(ControlStyles.AllPaintingInWmPaint, true);
     SetStyle(ControlStyles.UserPaint, true);
     SetStyle(ControlStyles.SupportsTransparentBackColor, true);
     // Inicializa las propiedades
     Name = "LabelRound";
     Text = Name;
     Size = new Size(368, 288);
     // Inicializa los estilos de etiqueta y panel
     Style = new StyleBauControl();
 }
 /// <summary>
 ///		Constructor del control
 /// </summary>
 public CollapsableGroupBox()
 {               // Inicializa los estilos
     SetStyle(ControlStyles.DoubleBuffer, true);
     SetStyle(ControlStyles.AllPaintingInWmPaint, true);
     SetStyle(ControlStyles.UserPaint, true);
     SetStyle(ControlStyles.SupportsTransparentBackColor, true);
     // Inicializa las propiedades
     Name    = "GroupBox";
     Text    = Name;
     Size    = new Size(300, 100);
     Padding = new Padding(5, cnstIntHeightHeader + 2, 10, 10);
     // Inicializa la altura real
     intRealHeight = Size.Height;
     // Inicializa los estilos de etiqueta y panel
     StyleLabel = new StyleBauControl();
     StylePanel = new StyleBauControl();
     // Inicializa el temporizador
     tmrCollapse.Interval = 1;
     tmrCollapse.Enabled  = false;
     tmrCollapse.Tick    += new EventHandler(tmrCollapse_Tick);
 }
 /// <summary>
 ///		Pinta un panel con sombra y fondo con gradiante
 /// </summary>
 public static void PaintRoundedPanel(Graphics grpCanvas, int intLeft, int intTop, int intWidth, int intHeight,
                                      StyleBauControl objStyle)
 {               // Ajusta el ancho y el alto
     intWidth  = intWidth - 1;
     intHeight = intHeight - 1;
     // Si hay una sombra, quita su anchura y altura
     if (objStyle.ShadowColor != Color.Transparent)
     {
         intWidth  -= objStyle.ShadowThickness;
         intHeight -= objStyle.ShadowThickness;
     }
     // Dibuja la sombra si es necesaria
     if (objStyle.ShadowColor != Color.Transparent)
     {
         using (SolidBrush brsShadow = new SolidBrush(objStyle.ShadowColor))
         { clsHelperDrawing.DrawRoundedShadow(grpCanvas, intLeft + objStyle.ShadowThickness - 1, intTop + objStyle.ShadowThickness - 1,
                                              intWidth + objStyle.ShadowThickness - 1, intHeight + objStyle.ShadowThickness - 1,
                                              objStyle.RoundCorners, objStyle.AngleCorners, brsShadow); }
     }
     // Dibuja el rectángulo con el gradiante adecuado
     using (Pen penBorder = new Pen(objStyle.BorderColor, objStyle.BorderWidth))
     { if (objStyle.GradientMode == StyleBauControl.GroupBoxGradientMode.None)
       {
           using (SolidBrush brsBackGround = new SolidBrush(objStyle.BackgroundColor))
               clsHelperDrawing.FillRoundedRectangle(grpCanvas, intLeft, intTop, intWidth, intHeight,
                                                     objStyle.RoundCorners, objStyle.AngleCorners,
                                                     brsBackGround, penBorder);
       }
       else
       {
           clsHelperDrawing.FillRoundedRectangle(grpCanvas, intLeft, intTop, intWidth, intHeight, objStyle.RoundCorners,
                                                 objStyle.AngleCorners, objStyle.BackgroundColor,
                                                 objStyle.BackgroundGradientColor,
                                                 (LinearGradientMode)objStyle.GradientMode, penBorder);
       } }
 }
 /// <summary>
 ///		Trata el evento de cambio de estilo
 /// </summary>
 private void Style_OnChangedStyle(StyleBauControl objSender)
 {
     Invalidate();
 }