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
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
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.
}
}
}
}
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 = "#";
}
}
}
}