Pregunta

Tengo una etiqueta en una pantalla de presentación que se muestra durante 4 segundos. Estoy tratando de hacer que la etiqueta muestre el proceso de carga como un porcentaje. Obviamente, esto es solo para mostrar al usuario que el programa se está iniciando realmente y no en realidad " cargando " cualquier cosa. ¿Hay alguna manera de que la etiqueta muestre el porcentaje (pasando del 1% al 100%) en 4 segundos? Un poco perdido en cómo hacer esto.

¿Fue útil?

Solución

Ponga un control Timer en el formulario, y establezca su propiedad Interval en 40 y su propiedad Enabled en true. Cree una variable de nivel de formulario como esta:

private int _Progress = 0;

En el evento Tick del Timer, ponga este código:

if (_Progress < 100)
{
    _Progress++;
    label1.Text = _Progress.ToString() + "%";
}
else
{
    timer1.Enabled = false;
}

Los temporizadores no son realmente precisos en milisegundos, por lo que no tomarán exactamente 4 segundos, pero harán el trabajo.

Otros consejos

Suponiendo que está hablando de WinForms (no WPF), la forma más sencilla sería un control de temporizador. Establezca el tiempo de espera para 40 ms (4 segundos = 4000 ms. 4000 ms / 100 actualizaciones = 40 ms). Cree un número entero de clase para seguir el progreso. Entonces su código para el evento OnTick se vería así ...

if(progress < 100)
{
  progress++;
  progessLabel.Text = String.Format("Loading...  Progress: {0}%", progress);
}
else
{
  timer.Enabled = false;
}

Un temporizador con el intervalo establecido para decir 100 milisegundos sería el enfoque más simple. Mantenga un recuento de la cantidad de veces que se llama al evento del temporizador y actualice la barra de progreso en un 2,5% cada vez que haga clic.

Si bien esto funcionaría, diría que una barra de progreso no es ideal para esta situación. En cambio, solo un gráfico animado sería mejor ya que da una indicación de que su programa se está iniciando, pero no se confunde como una barra de progreso.

Creo que Microsoft suele cometer este error de usar barras de progreso engañosas en ciertas aplicaciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top