Cómo cambiar el color de progressbar en C#.NET ¿3.5?


Me gustaría hacer dos cosas en mi barra de progreso.

  1. Cambie el color verde a rojo.
  2. Retire los bloques y hágalo en un solo color.

Cualquier información sobre esas dos cosas me pregunto cómo lograr será muy útil!

Gracias.

Author: Joel Coehoorn, 2009-04-22

21 answers

Dado que las respuestas anteriores no parecen funcionar con Estilos visuales. Probablemente necesitarás crear tu propia clase o extender la barra de progreso:

public class NewProgressBar : ProgressBar
{
    public NewProgressBar()
    {
        this.SetStyle(ControlStyles.UserPaint, true);
    }

    protected override void OnPaint(PaintEventArgs e)
    {
        Rectangle rec = e.ClipRectangle;

        rec.Width = (int)(rec.Width * ((double)Value / Maximum)) - 4;
        if(ProgressBarRenderer.IsSupported)
           ProgressBarRenderer.DrawHorizontalBar(e.Graphics, e.ClipRectangle);
        rec.Height = rec.Height - 4;
        e.Graphics.FillRectangle(Brushes.Red, 2, 2, rec.Width, rec.Height);
    }
}

EDITAR: Código actualizado para hacer que la barra de progreso use el estilo visual para el fondo

 65
Author: Crispy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-23 19:36:04

OK, me tomó un tiempo leer todas las respuestas y enlaces. Esto es lo que obtuve de ellos:

Resultados de la muestra

La respuesta aceptada deshabilita los estilos visuales, le permite establecer el color a cualquier cosa que desee, pero el resultado se ve simple:

introduzca la descripción de la imagen aquí

Usando el siguiente método, puedes obtener algo como esto en su lugar:

introduzca la descripción de la imagen aquí

Cómo

Primero, incluya esto si no lo ha hecho: using System.Runtime.InteropServices;

Segundo, puedes cree esta nueva clase, o ponga su código en una clase static no genérica existente:

public static class ModifyProgressBarColor
{
    [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
    static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr w, IntPtr l);
    public static void SetState(this ProgressBar pBar, int state)
    {
        SendMessage(pBar.Handle, 1040, (IntPtr)state, IntPtr.Zero);
    }
}

Ahora, para usarlo, simplemente llame:

ModifyProgressBarColor.SetState(progressBar1, 2);

Observe el segundo parámetro en setState, 1 = normal (verde); 2 = error (rojo); 3 = advertencia (amarillo).

Espero que ayude!

 97
Author: user1032613,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-13 15:27:12

Esta es una versión sin parpadeo del código más aceptado que puede encontrar como respuestas a esta pregunta. Todo el crédito a los carteles de esas fatásticas respuestas. Gracias Dusty, Chris, Matt, y Josh!

Al igual que la solicitud de "Fueled"en uno de los comentarios, también necesitaba una versión que se comportara un poco más... profesionalmente. Este código mantiene los estilos como en el código anterior, pero agrega un renderizado de imagen fuera de la pantalla y almacenamiento en búfer de gráficos (y elimina el objeto de gráficos correctamente).

Resultado: todo lo bueno, y sin parpadeo. :)

public class NewProgressBar : ProgressBar
{
    public NewProgressBar()
    {
        this.SetStyle(ControlStyles.UserPaint, true);
    }

    protected override void OnPaintBackground(PaintEventArgs pevent)
    {
        // None... Helps control the flicker.
    }

    protected override void OnPaint(PaintEventArgs e)
    {
        const int inset = 2; // A single inset value to control teh sizing of the inner rect.

        using (Image offscreenImage = new Bitmap(this.Width, this.Height))
        {
            using (Graphics offscreen = Graphics.FromImage(offscreenImage))
            {
                Rectangle rect = new Rectangle(0, 0, this.Width, this.Height);

                if (ProgressBarRenderer.IsSupported)
                    ProgressBarRenderer.DrawHorizontalBar(offscreen, rect);

                rect.Inflate(new Size(-inset, -inset)); // Deflate inner rect.
                rect.Width = (int)(rect.Width * ((double)this.Value / this.Maximum));
                if (rect.Width == 0) rect.Width = 1; // Can't draw rec with width of 0.

                LinearGradientBrush brush = new LinearGradientBrush(rect, this.BackColor, this.ForeColor, LinearGradientMode.Vertical);
                offscreen.FillRectangle(brush, inset, inset, rect.Width, rect.Height);

                e.Graphics.DrawImage(offscreenImage, 0, 0);
                offscreenImage.Dispose();
            }
        }
    }
}
 30
Author: William Daniel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-23 13:51:46

En el diseñador, solo necesita establecer la propiedad ForeColor en el color que desee. En el caso del rojo, hay un color predefinido para él.

Para hacerlo en código (C#) haga esto:

pgs.ForeColor = Color.Red;

Editar: Oh sí, también establece el Estilo en continuo. En código, así:

pgs.Style = System.Windows.Forms.ProgressBarStyle.Continuous;

Otra edición: También tendrá que eliminar la línea que dice Application.EnableVisualStyles() de su Program.cs (o similar). Si no puedes hacer esto porque quieres que el resto de la aplicación tenga estilos visuales, entonces sugeriría pintar el control usted mismo o pasar a WPF ya que este tipo de cosas es fácil con WPF. Puede encontrar un tutorial sobre el propietario dibujando una barra de progreso en codeplex

 27
Author: dustyburwell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-05-05 15:29:32

Modificación a la respuesta de dustyburwell. (No tengo suficiente reputación para editarlo yo mismo.) Al igual que su respuesta, funciona con "Estilos visuales" habilitados. Solo puede establecer la propiedad ForeColor de la barra de progreso en la vista de diseño de cualquier formulario.

using System;
using System.Windows.Forms;
using System.Drawing;

public class ProgressBarEx : ProgressBar
{
    private SolidBrush brush = null;

    public ProgressBarEx()
    {
        this.SetStyle(ControlStyles.UserPaint, true);
    }

    protected override void OnPaint(PaintEventArgs e)
    {
        if (brush == null || brush.Color != this.ForeColor)
            brush = new SolidBrush(this.ForeColor);

        Rectangle rec = new Rectangle(0, 0, this.Width, this.Height);
        if (ProgressBarRenderer.IsSupported)
            ProgressBarRenderer.DrawHorizontalBar(e.Graphics, rec);
        rec.Width = (int)(rec.Width * ((double)Value / Maximum)) - 4;
        rec.Height = rec.Height - 4;
        e.Graphics.FillRectangle(brush, 2, 2, rec.Width, rec.Height);
    }
}
 14
Author: Matt Blaine,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-23 06:46:48

Usando las respuestas de Matt Blaine y Chris Persichetti he creado una barra de progreso que se ve un poco más agradable al tiempo que permite una elección de color infinita (básicamente cambié una línea en la solución de Matt):

ProgressBarEx:

using System;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;

namespace QuantumConcepts.Common.Forms.UI.Controls
{
    public class ProgressBarEx : ProgressBar
    {
        public ProgressBarEx()
        {
            this.SetStyle(ControlStyles.UserPaint, true);
        }

        protected override void OnPaint(PaintEventArgs e)
        {
            LinearGradientBrush brush = null;
            Rectangle rec = new Rectangle(0, 0, this.Width, this.Height);
            double scaleFactor = (((double)Value - (double)Minimum) / ((double)Maximum - (double)Minimum));

            if (ProgressBarRenderer.IsSupported)
                ProgressBarRenderer.DrawHorizontalBar(e.Graphics, rec);

            rec.Width = (int)((rec.Width * scaleFactor) - 4);
            rec.Height -= 4;
            brush = new LinearGradientBrush(rec, this.ForeColor, this.BackColor, LinearGradientMode.Vertical);
            e.Graphics.FillRectangle(brush, 2, 2, rec.Width, rec.Height);
        }
    }
}

Uso:

progressBar.ForeColor = Color.FromArgb(255, 0, 0);
progressBar.BackColor = Color.FromArgb(150, 0, 0);

Resultados

Puede utilizar cualquier gradiente que desee!

Descargar

Https://skydrive.live.com/?cid=0EDE5D21BDC5F270&id=EDE5D21BDC5F270%21160&sc=documents#

 14
Author: Josh M.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-03 17:17:09

Acabo de poner esto en una clase estática.

  const int WM_USER = 0x400;
  const int PBM_SETSTATE = WM_USER + 16;
  const int PBM_GETSTATE = WM_USER + 17;

  [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
  static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

  public enum ProgressBarStateEnum : int
  {
   Normal = 1,
   Error = 2,
   Paused = 3,
  }

  public static ProgressBarStateEnum GetState(this ProgressBar pBar)
  {
   return (ProgressBarStateEnum)(int)SendMessage(pBar.Handle, PBM_GETSTATE, IntPtr.Zero, IntPtr.Zero);
  }

  public static void SetState(this ProgressBar pBar, ProgressBarStateEnum state)
  {
   SendMessage(pBar.Handle, PBM_SETSTATE, (IntPtr)state, IntPtr.Zero);
  } 

Espero que ayude,

Marc

 5
Author: Marc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-31 14:22:23

Por lo general, la barra de progreso es temática o honra las preferencias de color del usuario. Por lo tanto, para cambiar el color, debe desactivar los estilos visuales y establecer ForeColor o dibujar el control usted mismo.

En cuanto al estilo continuo en lugar de bloques, puede establecer la propiedad Style:

pBar.Style = ProgressBarStyle.Continuous;
 3
Author: Joey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-22 19:11:53

EDITAR

Por los sonidos de las cosas que está utilizando el tema XP que tiene el bloque verde basado en la barra de prog. Intente cambiar su estilo de interfaz de usuario a Windows Classic y vuelva a probar, pero es posible que deba implementar su propio evento OnPaint para que haga lo que desea en todos los estilos de interfaz de usuario

O como alguien más señaló, deshabilite los estilos VISUALES para su aplicación.

Original

Por lo que sé, la representación de la barra de progreso sucede en línea con el estilo de tema de Windows que ha elegido (Win2K, xp, vista)

Puede cambiar el color configurando la propiedad

ProgressBar.ForeColor

Sin embargo, no estoy seguro de que puedas hacer mucho más...

Hace algo de googlear

Aquí hay un artículo de MS KB sobre la creación de una barra de progreso" Suave "

Http://support.microsoft.com/kb/323116

 2
Author: Eoin Campbell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-22 19:25:37

Te sugiero que también eches un vistazo a este artículo sobre CodeProject: Progress-O-Doom. Es genial!

 2
Author: Drake,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-31 14:50:16

Intente usar messsage PBM_SETBARCOLOR, eso debería hacer el truco con SendMessage

Véase http://www.vbforums.com/showthread.php?t=248721 por ejemplo.

 2
Author: Aleksandar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-23 07:57:48

Todos estos métodos no funcionan para mí, pero este método le permite cambiarlo a una cadena de color.

Tenga en cuenta que encontré este código de otro lugar en StackOverflow y lo cambié un poco. Desde entonces he olvidado dónde encontré este código y no puedo vincularlo debido a eso, lo siento por eso.

Pero de todos modos espero que este código ayude a alguien que realmente me ayudó.

private void ProgressBar_MouseDown(object sender, MouseButtonEventArgs e)
    {
        var converter = new System.Windows.Media.BrushConverter();
        var brush = (Brush)converter.ConvertFromString("#FFB6D301");
        ProgressBar.Foreground = brush;
    }

Donde se usa el nombre "ProgressBar" reemplace con su propio nombre de barra de progreso. También puede active este evento con otros argumentos solo asegúrese de que esté entre corchetes en algún lugar.

 2
Author: EpicNinjaCheese,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-27 02:44:27

Change Color and Value (instant change )

Ponga using System.Runtime.InteropServices; en la parte superior...

Llamar con ColorBar.SetState(progressBar1, ColorBar.Color.Yellow, myValue);

Me di cuenta de que si cambia el valor de la barra ( qué tan grande es), entonces no cambiará si está en un color que no sea el verde predeterminado. Tomé el código de user1032613 y agregué una opción de valor.

public static class ColorBar
{
    [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
    static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr w, IntPtr l);
    public enum Color { None, Green, Red, Yellow }

    public static void SetState(this ProgressBar pBar, Color newColor, int newValue)
    {
        if (pBar.Value == pBar.Minimum)  // If it has not been painted yet, paint the whole thing using defualt color...
        {                                // Max move is instant and this keeps the initial move from going out slowly 
            pBar.Value = pBar.Maximum;   // in wrong color on first painting
            SendMessage(pBar.Handle, 1040, (IntPtr)(int)Color.Green, IntPtr.Zero);
        }
        pBar.Value = newValue;
        SendMessage(pBar.Handle, 1040, (IntPtr)(int)Color.Green, IntPtr.Zero);     // run it out to the correct spot in default
        SendMessage(pBar.Handle, 1040, (IntPtr)(int)newColor, IntPtr.Zero);        // now turn it the correct color
    }

}
 2
Author: Sparfy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-16 15:13:32

Por si alguien busca otra opción.... puede extender un Panel, usarlo como fondo (blanco o lo que sea), agregar otro Panel dentro de él para el primer plano (la barra móvil). Entonces usted tiene control total que cambia el color, el etc.

 1
Author: Eduardo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-28 15:05:49

Simplemente haga clic derecho en su proyecto en Visual Basic Solution Explorer (donde están sus archivos vb) y seleccione propiedades en el menú. En la ventana que aparece deseleccione "Habilitar estilos visuales de XP" y ahora cuando configure forecolor, debería funcionar ahora.

 1
Author: Randy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-26 00:12:17

ЈΟеу: Cita: Por lo general, la barra de progreso es temática o honra las preferencias de color del usuario. Por lo tanto, para cambiar el color, debe desactivar los estilos visuales y establecer ForeColor o dibujar el control usted mismo.

En cuanto al estilo continuo en lugar de bloques, puede establecer la propiedad Style:

pBar.Style = ProgressBarStyle.Continuous;

ProgressBarStyle.Continuos versus bloques es inútil con VistualStyles habilitado...

Los bloques solo funcionarán con estilos visuales deshabilitados ... que hace que todos de esto un punto discutible (con respecto al color de progreso personalizado) Con estilos vistual desactivados ... la barra de progreso debe tener un color basado en el forecolor.

Usé una combinación de la respuesta de William Daniel (con estilos visuales habilitados, por lo que el ForeColor no solo será plano sin estilo) y Respuesta de Barry (al texto personalizado en la barra de progreso) de: ¿Cómo pongo texto en la barra de progreso?

 0
Author: NeoH4x0r,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:33

Barra vertical ARRIBA Para Abajo en color rojo:

using System;
using System.Windows.Forms;
using System.Drawing;



public class VerticalProgressBar : ProgressBar
{


    protected override CreateParams CreateParams
    {
        get
        {
            CreateParams cp = base.CreateParams;
            cp.Style |= 0x04;
            return cp;

        }
    }
    private SolidBrush brush = null;

    public VerticalProgressBar()
    {
        this.SetStyle(ControlStyles.UserPaint, true);
    }

    protected override void OnPaint(PaintEventArgs e)
    {
        if (brush == null || brush.Color != this.ForeColor)
            brush = new SolidBrush(this.ForeColor);

        Rectangle rec = new Rectangle(0, 0, this.Width, this.Height);
        if (ProgressBarRenderer.IsSupported)
        ProgressBarRenderer.DrawVerticalBar(e.Graphics, rec);
        rec.Height = (int)(rec.Height * ((double)Value / Maximum)) - 4;
        rec.Width = rec.Width - 4;
        e.Graphics.FillRectangle(brush, 2, 2, rec.Width, rec.Height);

    } 
}
 0
Author: Mandrova,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-10 20:44:00

El VB.Net la barra de progreso de color que respeta los estilos visuales de WXP es la respuesta ...

Empecé con la respuesta de 'user1032613' el 17/3/12. Tenga en cuenta que esto ahora es un Módulo, no una clase. A partir de ahí convertí el código, pero se necesitaba más. En particular, el código convertido mostró una función DirectCast para convertir el entero 'state' a un tipo IntPtr que no funcionó.

Imports System.Runtime.InteropServices

Public Module ModifyProgressBarColor

    Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long

    <DllImport("user32.dll", CharSet:=CharSet.Auto, SetLastError:=False)> _
    Private Function SendMessage(hWnd As IntPtr, Msg As UInteger, w As IntPtr, l As IntPtr) As IntPtr
    End Function

    <System.Runtime.CompilerServices.Extension()> _
    Public Sub SetState(pBar As ProgressBar, state As Integer)

        '-- Convert state as integer to type IntPtr
        Dim s As IntPtr
        Dim y As Integer = state
        s = IntPtr.op_Explicit(y)

        '-- Modify bar color
        SendMessage(pBar.Handle, 1040, s, IntPtr.Zero)

    End Sub

End Module

Y de nuevo simplemente llame a esto en el código de uso con esta línea:

Call ModifyProgressBarColor.SetState(prb, 2)

POR cierto-Probé otro colores-0, 4, 5 - todos ellos sólo muestran verde.

 0
Author: DanW52,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-28 16:26:45

Sé que su camino es demasiado viejo para ser contestado ahora.. pero aún así, un pequeño ajuste a la respuesta de @Daniel para rectificar el problema de no mostrar la barra de progreso con valor cero. Simplemente dibuje el Progreso solo si se encuentra que el ancho del rectángulo interior es distinto de cero.

Gracias a todos los contribuyentes.

        public class ProgressBarEx : ProgressBar
        {
            public ProgressBarEx()
            {
                this.SetStyle(ControlStyles.UserPaint, true);
            }

            protected override void OnPaintBackground(PaintEventArgs pevent){}
                // None... Helps control the flicker.                

            protected override void OnPaint(PaintEventArgs e)
            {
                const int inset = 2; // A single inset value to control teh sizing of the inner rect.

                using (Image offscreenImage = new Bitmap(this.Width, this.Height))
                {
                    using (Graphics offscreen = Graphics.FromImage(offscreenImage))
                    {
                        Rectangle rect = new Rectangle(0, 0, this.Width, this.Height);

                        if (ProgressBarRenderer.IsSupported)
                            ProgressBarRenderer.DrawHorizontalBar(offscreen, rect);

                        rect.Inflate(new Size(-inset, -inset)); // Deflate inner rect.
                        rect.Width = (int)(rect.Width * ((double)this.Value / this.Maximum));

                        if (rect.Width != 0)
                        {
                            LinearGradientBrush brush = new LinearGradientBrush(rect, this.ForeColor, this.BackColor, LinearGradientMode.Vertical);
                            offscreen.FillRectangle(brush, inset, inset, rect.Width, rect.Height);
                            e.Graphics.DrawImage(offscreenImage, 0, 0);
                            offscreenImage.Dispose();
                        }
                    }
                }
            }
        }
 0
Author: Divins Mathew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:54:50

Encontré que esto se puede hacer dibujando un rectángulo dentro de la barra de progreso, y para establecer su ancho de acuerdo con el valor actual del progreso. También agregué soporte para el progreso de derecha a izquierda. De esta manera no es necesario utilizar la imagen, y desde Rectnalge.Inflar no se llama el rectángulo dibujado es más pequeño.

public partial class CFProgressBar : ProgressBar
{
    public CFProgressBar()
    {
        InitializeComponent();
        this.SetStyle(ControlStyles.UserPaint, true);
    }

    protected override void OnPaintBackground(PaintEventArgs pevent) { }

    protected override void OnPaint(PaintEventArgs e)
    {
        double scaleFactor = (((double)Value - (double)Minimum) / ((double)Maximum - (double)Minimum));
        int currentWidth = (int)((double)Width * scaleFactor);
        Rectangle rect;
        if (this.RightToLeftLayout)
        {
            int currentX = Width - currentWidth;
            rect = new Rectangle(currentX, 0, this.Width, this.Height);
        }
        else
            rect = new Rectangle(0, 0, currentWidth, this.Height);

        if (rect.Width != 0)
        {
            SolidBrush sBrush = new SolidBrush(ForeColor);
            e.Graphics.FillRectangle(sBrush, rect);
        }
    }
}
 0
Author: ZOK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-15 10:54:29

Editar: en los dos minuites me llevó a encender vs y comprobar la sintaxis me golpearon con respuestas mucho mejores. me encanta este sitio.

        progressBar1 = new ProgressBar();
        progressBar1.ForeColor = Color.Red;
 -5
Author: Fusspawn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-22 19:10:58