Compartilhar via


ProgressBar.PerformStep Método

Definição

Avança a posição atual da barra de progresso até o valor da propriedade Step.

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

Exceções

Exemplos

O exemplo de código a seguir usa um ProgressBar controle para exibir o progresso de uma operação de cópia de arquivo. O exemplo usa e as Minimum Maximum propriedades para especificar um intervalo para o ProgressBar que é equivalente ao número de arquivos a serem copiados. O código também usa a Step propriedade com o PerformStep método para incrementar o valor do ProgressBar arquivo como um arquivo é copiado. Este exemplo requer que você tenha um ProgressBar controle criado chamado pBar1 que é criado dentro de um Forme que há um método criado chamado CopyFile (que retorna um valor booliano que indica que a operação de cópia de arquivo foi concluída com êxito) que executa a operação de cópia de arquivo. O código também exige que uma matriz de cadeias de caracteres contendo os arquivos a serem copiados seja criada e passada para o CopyWithProgress método definido no exemplo e que o método seja chamado de outro método ou evento no 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 ] ) == true )
         {
            // 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]) == true)
        {
            // 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

Comentários

O PerformStep método incrementa o valor da barra de progresso pelo valor especificado pela Step propriedade. Você pode usar a Step propriedade para especificar o valor que cada tarefa concluída em uma operação altera o valor da barra de progresso. Por exemplo, se você estiver copiando um grupo de arquivos, convém definir o valor da Step propriedade como 1 e o valor da Maximum propriedade para o número total de arquivos a serem copiados. Quando cada arquivo é copiado, você pode chamar o PerformStep método para incrementar a barra de progresso pelo valor da Step propriedade. Se você quiser ter um controle mais flexível do valor da barra de progresso, poderá usar o Increment método ou definir o valor da Value propriedade diretamente.

A Value propriedade especifica a posição atual do ProgressBar. Se, depois de chamar o PerformStep método, a Value propriedade for maior que o valor da Maximum propriedade, a Value propriedade permanecerá no valor da Maximum propriedade. Se, depois de chamar o PerformStep método com um valor negativo especificado, Stepa Value propriedade for menor que o valor da Minimum propriedade, a Value propriedade permanecerá no valor da Minimum propriedade.

Como um ProgressBar objeto cujo estilo é definido para Marquee exibir uma barra de rolagem contínua em vez de sua Valuechamada, a chamada PerformStep é desnecessária e gerará um InvalidOperationException.

Aplica-se a

Confira também