[Serie Yugong] Explicación detallada del control ProgressBar en el tema especial del control de Winform en septiembre de 2023


Prefacio

Los controles de Winform son elementos de la interfaz de usuario en Windows Forms. Se pueden usar para crear varios componentes visuales e interactivos de aplicaciones de Windows, como botones, etiquetas, cuadros de texto, cuadros de lista desplegables, casillas de verificación, cuadros de opción, barras de progreso, etc. . . Los desarrolladores pueden utilizar controles de Winform para crear interfaces de usuario y responder a las acciones del usuario para crear potentes aplicaciones de escritorio.

1. Explicación detallada del control ProgressBar

El control ProgressBar es uno de los controles más utilizados en Winform y generalmente se usa para representar el estado del progreso de una operación. El control ProgressBar puede mostrar barras de progreso, puntos de progreso o animaciones horizontales o verticales.

Las siguientes son algunas propiedades y métodos comunes para operar el control ProgressBar:

Atributos:

  1. Valor: indica el valor de progreso actual de ProgressBar.
  2. Máximo: Indica el valor máximo de ProgressBar.
  3. Mínimo: Representa el valor mínimo de ProgressBar.

método:

  1. PerformStep(): cada vez que se llama a este método, el valor de progreso de ProgressBar aumentará en un valor determinado (el valor predeterminado es 1).
  2. Incremento (): cada vez que se llama a este método, el valor de progreso de ProgressBar aumentará en un valor determinado (se puede especificar a través de los parámetros del método Incremento).

A continuación se muestra un código de muestra que utiliza el control ProgressBar:

// 初始化ProgressBar控件
progressBar1.Minimum = 0;
progressBar1.Maximum = 100;
progressBar1.Step = 1;
progressBar1.Value = 0;

// 更新ProgressBar进度值
private void UpdateProgress()
{
    
    
    if (progressBar1.Value < progressBar1.Maximum)
    {
    
    
        progressBar1.PerformStep();
    }
}

// 重置ProgressBar进度值
private void ResetProgress()
{
    
    
    progressBar1.Value = 0;
}

// 设置ProgressBar进度值
private void SetProgress(int value)
{
    
    
    progressBar1.Value = value;
}

// 增加ProgressBar进度值
private void IncreaseProgress(int value)
{
    
    
    progressBar1.Increment(value);
}

A través del código anterior, se puede realizar la función básica de la barra de progreso del control ProgressBar.

1. Introducción a las propiedades

1.1 Velocidad de animación de marquesina

La propiedad MarqueeAnimationSpeed ​​​​del control ProgressBar es una propiedad entera que se utiliza para establecer la velocidad de desplazamiento de la barra de progreso en modo animación, en milisegundos. Cuando la propiedad Style del control ProgressBar se establece en Marquee, el control mostrará la barra de progreso de forma animada. En este momento, la propiedad MarqueeAnimationSpeed ​​​​puede establecer la velocidad de desplazamiento de la barra de progreso.

El siguiente es un código de muestra que utiliza la propiedad MarqueeAnimationSpeed ​​​​:

// 设置ProgressBar控件为动画模式
progressBar1.Style = ProgressBarStyle.Marquee;
progressBar1.MarqueeAnimationSpeed = 50; // 设置滚动速度为50毫秒

// 取消ProgressBar控件的动画模式
progressBar1.Style = ProgressBarStyle.Continuous;

En el código anterior, primero establezca la propiedad Estilo del control ProgressBar en Marquee y luego establezca la propiedad MarqueeAnimationSpeed ​​en 50, lo que significa que la barra de progreso se desplaza cada 50 milisegundos. Finalmente, puede cancelar la visualización del modo de animación estableciendo la propiedad Estilo del control ProgressBar en Continuo.

Cabe señalar que en el modo de animación, la propiedad Valor del control ProgressBar no funciona, porque en el modo de animación, la barra de progreso se muestra en forma de desplazamiento circular automático y no se puede mostrar el valor de progreso específico. Por lo tanto, cuando utilice el modo de animación, debe considerar configurar la propiedad Texto del control ProgressBar con alguna información relevante para que los usuarios puedan comprender el estado de la operación actual.

2. Escenarios comunes

El control ProgressBar es uno de los controles más utilizados en Winform y se utiliza a menudo en los siguientes escenarios:

  1. Mostrar el progreso de la tarea: el control ProgressBar puede mostrar visualmente el progreso de la tarea y proporcionar a los usuarios comentarios visuales.

  2. Indica el progreso de la descarga del archivo: durante el proceso de descarga del archivo, generalmente usamos el control ProgressBar para mostrar el progreso de la descarga y brindarle al usuario una indicación del progreso de la descarga.

  3. Indica la ocupación de recursos del sistema: algunas aplicaciones necesitan ejecutarse durante mucho tiempo y pueden ocupar más recursos del sistema. En este momento, el uso del control ProgressBar puede permitir a los usuarios comprender el estado de ejecución del programa, mejorando así la estabilidad y confiabilidad del programa.

  4. Indica el progreso de la carga de datos: en aplicaciones con grandes cantidades de datos, la carga de datos puede tardar una cierta cantidad de tiempo. El uso del control ProgressBar permite a los usuarios comprender claramente el progreso de la carga de datos y mejora la experiencia del usuario.

El control ProgressBar se puede utilizar para mostrar cualquier escena que necesite mostrar progreso, brindando a los usuarios una retroalimentación intuitiva y aumentando la operatividad y facilidad de uso del programa.

3. Casos específicos

El siguiente es un caso completo del control ProgressBar en Winform, que demuestra cómo usar el control ProgressBar para mostrar el progreso:

  1. Cree una nueva aplicación Winform y agregue un control ProgressBar al formulario.

  2. En el código, primero establezca los valores mínimo y máximo de ProgressBar:

progressBar1.Minimum = 0;
progressBar1.Maximum = 100;
  1. A continuación, escriba un método para actualizar el valor de ProgressBar. En este ejemplo usaremos un temporizador para simular un aumento en el progreso:
private void timer1_Tick(object sender, EventArgs e)
{
    
    
    if (progressBar1.Value < progressBar1.Maximum)
    {
    
    
        progressBar1.Value++;
        label1.Text = progressBar1.Value.ToString() + "%";
    }
    else
    {
    
    
        timer1.Stop();
        MessageBox.Show("进度完成!");
    }
}

En este método, verificamos si el progreso actual es menor que el valor máximo y, de ser así, aumentamos el valor de ProgressBar y luego actualizamos una etiqueta para mostrar el porcentaje de progreso actual. Si el progreso alcanza el valor máximo, detenemos el cronómetro y mostramos un cuadro de mensaje para notificar al usuario que la tarea se completó.

  1. Finalmente, inicie el cronómetro en el evento Load del formulario:
private void Form1_Load(object sender, EventArgs e)
{
    
    
    timer1.Start();
}

El código completo es el siguiente:

public partial class Form1 : Form
{
    
    
    public Form1()
    {
    
    
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    
    
        progressBar1.Minimum = 0;
        progressBar1.Maximum = 100;

        timer1.Interval = 100;
        timer1.Tick += new EventHandler(timer1_Tick);
        timer1.Start();
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
    
    
        if (progressBar1.Value < progressBar1.Maximum)
        {
    
    
            progressBar1.Value++;
            label1.Text = progressBar1.Value.ToString() + "%";
        }
        else
        {
    
    
            timer1.Stop();
            MessageBox.Show("进度完成!");
        }
    }
}

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/aa2528877987/article/details/132799166
Recomendado
Clasificación