Compartir vía


ProgressBar.PerformStep Método

Definición

Desplaza la posición actual de la barra de progreso por la cantidad de la Step propiedad.

public:
 void PerformStep();
public void PerformStep();
member this.PerformStep : unit -> unit
Public Sub PerformStep ()

Excepciones

El valor de Style está establecido en Marquee.

Ejemplos

En el ejemplo de código siguiente se usa un ProgressBar control para mostrar el progreso de una operación de copia de archivos. En el ejemplo se usan las Minimum propiedades y Maximum para especificar un intervalo para el ProgressBar que es equivalente al número de archivos que se van a copiar. El código también usa la Step propiedad con el PerformStep método para incrementar el valor de ProgressBar como un archivo se copia. En este ejemplo se requiere que tenga un ProgressBar control creado denominado pBar1 que se crea en un Formy que hay un método creado denominado CopyFile (que devuelve un valor booleano que indica que la operación de copia de archivos se completó correctamente) que realiza la operación de copia de archivos. El código también requiere que se cree y pase una matriz de cadenas que contienen los archivos que se van a copiar al CopyWithProgress método definido en el ejemplo y que se llame al método desde otro método o evento en .Form

private:
   void CopyWithProgress( array<String^>^filenames )
   {
      // Display the ProgressBar control.
      pBar1->Visible = true;

      // Set Minimum to 1 to represent the first file being copied.
      pBar1->Minimum = 1;

      // Set Maximum to the total number of files to copy.
      pBar1->Maximum = filenames->Length;

      // Set the initial value of the ProgressBar.
      pBar1->Value = 1;

      // Set the Step property to a value of 1 to represent each file being copied.
      pBar1->Step = 1;

      // Loop through all files to copy.
      for ( int x = 1; x <= filenames->Length; x++ )
      {
         // Copy the file and increment the ProgressBar if successful.
         if ( CopyFile( filenames[ x - 1 ] ))
         {
            // Perform the increment on the ProgressBar.
            pBar1->PerformStep();
         }
      }
   }
private void CopyWithProgress(string[] filenames)
{
    // Display the ProgressBar control.
    pBar1.Visible = true;
    // Set Minimum to 1 to represent the first file being copied.
    pBar1.Minimum = 1;
    // Set Maximum to the total number of files to copy.
    pBar1.Maximum = filenames.Length;
    // Set the initial value of the ProgressBar.
    pBar1.Value = 1;
    // Set the Step property to a value of 1 to represent each file being copied.
    pBar1.Step = 1;
    
    // Loop through all files to copy.
    for (int x = 1; x <= filenames.Length; x++)
    {
        // Copy the file and increment the ProgressBar if successful.
        if (CopyFile(filenames[x-1]))
        {
            // Perform the increment on the ProgressBar.
            pBar1.PerformStep();
        }
    }
}
Private Sub CopyWithProgress(ByVal ParamArray filenames As String())
    ' Display the ProgressBar control.
    pBar1.Visible = True
    ' Set Minimum to 1 to represent the first file being copied.
    pBar1.Minimum = 1
    ' Set Maximum to the total number of files to copy.
    pBar1.Maximum = filenames.Length
    ' Set the initial value of the ProgressBar.
    pBar1.Value = 1
    ' Set the Step property to a value of 1 to represent each file being copied.
    pBar1.Step = 1

    ' Loop through all files to copy.
    Dim x As Integer
    for x = 1 To filenames.Length - 1
        ' Copy the file and increment the ProgressBar if successful.
        If CopyFile(filenames(x - 1)) = True Then
            ' Perform the increment on the ProgressBar.
            pBar1.PerformStep()
        End If
    Next x
End Sub

Comentarios

El PerformStep método incrementa el valor de la barra de progreso por la cantidad especificada por la Step propiedad . Puede usar la Step propiedad para especificar la cantidad que cada tarea completada de una operación cambia el valor de la barra de progreso. Por ejemplo, si va a copiar un grupo de archivos, es posible que desee establecer el valor de la Step propiedad en 1 y el valor de la Maximum propiedad en el número total de archivos que se van a copiar. Cuando se copia cada archivo, puede llamar al PerformStep método para incrementar la barra de progreso por el valor de la Step propiedad. Si desea tener un control más flexible del valor de la barra de progreso, puede usar el Increment método o establecer el valor de la Value propiedad directamente.

La Value propiedad especifica la posición actual de .ProgressBar Si, después de llamar al PerformStep método , la Value propiedad es mayor que el valor de la Maximum propiedad , la Value propiedad permanece en el valor de la Maximum propiedad . Si, después de llamar al PerformStep método con un valor negativo especificado en Step, la Value propiedad es menor que el valor de la Minimum propiedad , la Value propiedad permanece en el valor de la Minimum propiedad .

Dado que un ProgressBar objeto cuyo estilo se establece en Marquee muestra una barra de desplazamiento continua en lugar de su Value, llamar a PerformStep es innecesaria y generará un InvalidOperationException.

Se aplica a

Consulte también