ProgressBar.PerformStep Método

Definição

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

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

Exceções

Style está definido como Marquee.

Exemplos

O exemplo de código seguinte utiliza um ProgressBar controlo para mostrar o progresso de uma operação de cópia de ficheiro. O exemplo usa as Minimum propriedades e Maximum para especificar um intervalo para o ProgressBar que é equivalente ao número de ficheiros a copiar. O código também utiliza a Step propriedade com o PerformStep método para incrementar o valor de à ProgressBar medida que um ficheiro é copiado. Este exemplo exige que tenha um ProgressBar controlo criado chamado pBar1 que seja criado dentro de um Form, e que exista um método criado chamado CopyFile (que devolve um valor Booleano indicando que a operação de cópia do ficheiro foi concluída com sucesso) que execute a operação de cópia. O código também exige que um array de strings contendo os ficheiros a copiar seja criado e passado para o CopyWithProgress método definido no exemplo, e que o método seja chamado a partir 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 ] ))
         {
            // 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

Observações

O PerformStep método incrementa o valor da barra de progresso pelo valor especificado pela Step propriedade. Podes usar a Step propriedade para especificar o valor da barra de progresso em que cada tarefa concluída numa operação. Por exemplo, se estiver a copiar um grupo de ficheiros, pode querer definir o valor da Step propriedade para 1 e o valor da Maximum propriedade para o número total de ficheiros a copiar. Quando cada ficheiro é copiado, pode chamar o PerformStep método para incrementar a barra de progresso pelo valor da Step propriedade. Se quiser ter um controlo mais flexível sobre o valor da barra de progresso, pode usar o Increment método ou definir diretamente o valor da Value propriedade.

A Value propriedade especifica a posição atual do ProgressBar. Se, após chamar o PerformStep método, a Value propriedade for maior do que o valor da Maximum propriedade, a Value propriedade mantém-se no valor da Maximum propriedade. Se, após chamar o PerformStep método com um valor negativo especificado em Step, a Value propriedade for inferior ao valor da Minimum propriedade, a Value propriedade mantém-se no valor da Minimum propriedade.

Como um ProgressBar objeto cujo estilo está definido para Marquee mostrar uma barra de scroll contínuo em vez do seu Value, chamar PerformStep é desnecessário e irá gerar um InvalidOperationException.

Aplica-se a

Ver também