Mi propio barra de progreso no funciona [C#]

Metaconta 66 Puntos de reputación
2024-07-22T09:57:19.26+00:00

Barra

Intentando probar mi propia barra de progreso en Windows Form .Net 8.0. No me calcula nada.

¿Qué se me escapa?

Dejo el código en C#.

namespace Barra_de_progreso_01

{

public partial class Form1 : Form

{

    float mitadBarra, resultadoPorcentaje = 0.0f;

    public Form1()

    {

        InitializeComponent();

    }

    private void button_Enter_Click(object sender, EventArgs e)

    {

        // Mitad de la barra para que no sea muy grande en la pantalla.

        mitadBarra = resultadoPorcentaje / 2;

        if (resultadoPorcentaje <= 15)

        {

            label_Barra_de_progreso.ForeColor = Color.Red;

        }

        else if (resultadoPorcentaje <= 40)

        {

            label_Barra_de_progreso.ForeColor = Color.Yellow;

        }

        else if (resultadoPorcentaje <= 100)

        {

            label_Barra_de_progreso.ForeColor = Color.Green;

        }

        if (mitadBarra > 50)

        {

            mitadBarra = 50;

        }

        // Rellenar la barra.

        for (int i = 1; i <= mitadBarra; i++)

        {

            label_Barra_de_progreso.Text = "█";

            // Tiempo en mostrar lentamente la barra del porcentaje.

            Thread.Sleep(10); // 60000 ms, 60 seg, 1 minuto.

        }

    }

}

}

VB
VB
Un lenguaje de programación orientado a objetos desarrollado por Microsoft que se implementa en .NET Framework. Anteriormente se conocía como .NET de Visual Basic.
24 preguntas
0 comentarios No hay comentarios
{count} votos

1 respuesta

Ordenar por: Muy útil
  1. Metaconta 66 Puntos de reputación
    2024-07-23T09:42:31.95+00:00

    Ya me funciona. Lo dejo aquí por si a alguien le haga falta o quiere tener ideas.

    namespace Barra_de_progreso_01

    {

    public partial class Form1 : Form
    
    {
    
        public Form1()
    
        {
    
            InitializeComponent();
    
        }
    
        private void Form1_Load(object sender, EventArgs e)
    
        {
    
            // Limpiar.
    
            label_Barra_de_progreso.Text = "";
    
            label_Desbordamiento.Text = "";
    
            label_Porcentaje.Text = "";
    
        }
    
        private void button_Enter_Click(object sender, EventArgs e)
    
        {
    
            // Variables.
    
            float mitadBarra = 0.0f;
    
            float resultadoPorcentaje = float.Parse(textBox_valor_barra.Text);
    
            // Mitad de la barra para que no sea muy grande en la pantalla.
    
            mitadBarra = resultadoPorcentaje / 2;
    
            if (resultadoPorcentaje <= 15)
    
            {
    
                label_Barra_de_progreso.ForeColor = Color.Red;
    
                label_Desbordamiento.Text = "";
    
            }
    
            else if (resultadoPorcentaje <= 40)
    
            {
    
                label_Barra_de_progreso.ForeColor = Color.Yellow;
    
                label_Desbordamiento.Text = "";
    
            }
    
            else if (resultadoPorcentaje <= 100)
    
            {
    
                label_Barra_de_progreso.ForeColor = Color.Green;
    
                label_Desbordamiento.Text = "";
    
            }
    
            else if (resultadoPorcentaje >= 101)
    
            {
    
                label_Barra_de_progreso.ForeColor = Color.Gray;
    
                label_Desbordamiento.Text = "";
    
            }
    
            if (mitadBarra > 50)
    
            {
    
                mitadBarra = 50;
    
            }
    
            // Limpiar barra.
    
            label_Barra_de_progreso.Text = "";
    
            // Rellenar la barra.
    
            for (int i = 1; i <= mitadBarra; i++)
    
            {
    
                // Dibuja la barra.
    
                label_Barra_de_progreso.Text += "█";
    
                // Porcentajes y con dos decimales indicado con N2.
    
                label_Porcentaje.Text = resultadoPorcentaje.ToString("N2") + " %";
    
                // Refrescar para ver el cambio.
    
                label_Barra_de_progreso.Refresh();
    
                label_Porcentaje.Refresh();
    
                // Tiempo en mostrar lentamente la barra del porcentaje.
    
                Thread.Sleep(10); // 60000 ms, 60 seg, 1 minuto.
    
            }
    
            // Si llega mayor a 100 se pone el # en rojo.
    
            if (resultadoPorcentaje > 100)
    
            {
    
                label_Desbordamiento.ForeColor = Color.Red;
    
                label_Desbordamiento.Text = "#";
    
            }
    
        }
    
    }
    

    }

    0 comentarios No hay comentarios

Su respuesta

Las respuestas se pueden marcar como respuestas aceptadas por el autor de la pregunta, lo que ayuda a los usuarios a conocer la respuesta que resolvió el problema del autor.