ProgressBar.PerformStep Methode

Definitie

Hiermee wordt de huidige positie van de voortgangsbalk naar het bedrag van de Step eigenschap gevorderd.

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

Uitzonderingen

Voorbeelden

In het volgende codevoorbeeld wordt een ProgressBar besturingselement gebruikt om de voortgang van een bestandskopiebewerking weer te geven. In het voorbeeld worden de Minimum en Maximum eigenschappen gebruikt om een bereik op te geven dat ProgressBar gelijk is aan het aantal bestanden dat moet worden gekopieerd. De code maakt ook gebruik van de Step eigenschap met de PerformStep methode om de waarde van het ProgressBar bestand te verhogen als een bestand wordt gekopieerd. Voor dit voorbeeld is vereist dat u een ProgressBar besturingselement hebt gemaakt pBar1 dat is gemaakt in een Form, en dat er een methode is gemaakt met de naam CopyFile (die een Booleaanse waarde retourneert die aangeeft dat de bewerking voor het kopiëren van bestanden is voltooid) waarmee de bewerking voor het kopiëren van bestanden wordt uitgevoerd. De code vereist ook dat een matrix met tekenreeksen met de te kopiëren bestanden wordt gemaakt en doorgegeven aan de CopyWithProgress methode die in het voorbeeld is gedefinieerd, en dat de methode wordt aangeroepen vanuit een andere methode of gebeurtenis in de 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

Opmerkingen

Met PerformStep de methode wordt de waarde van de voortgangsbalk verhoogd op basis van het bedrag dat door de Step eigenschap is opgegeven. U kunt de Step eigenschap gebruiken om het bedrag op te geven dat elke voltooide taak in een bewerking de waarde van de voortgangsbalk wijzigt. Als u bijvoorbeeld een groep bestanden kopieert, kunt u de waarde van de Step eigenschap instellen op 1 en de waarde van de Maximum eigenschap op het totale aantal te kopiëren bestanden. Wanneer elk bestand wordt gekopieerd, kunt u de PerformStep methode aanroepen om de voortgangsbalk te verhogen op basis van de waarde van de Step eigenschap. Als u flexibeler controle wilt over de waarde van de voortgangsbalk, kunt u de Increment methode gebruiken of de waarde van de Value eigenschap rechtstreeks instellen.

De Value eigenschap geeft de huidige positie van de ProgressBar. Als de PerformStep eigenschap na het aanroepen van de Value methode groter is dan de waarde van de Maximum eigenschap, blijft de Value eigenschap op de waarde van de Maximum eigenschap. Als de eigenschap na het aanroepen van de PerformStep methode met een negatieve waarde die is Stepopgegeven, Value kleiner is dan de waarde van de Minimum eigenschap, blijft de Value eigenschap op de waarde van de Minimum eigenschap.

Omdat een ProgressBar object waarvan de stijl is ingesteld om Marquee een continu schuivende balk weer te geven in plaats van Valuede balk, is aanroepen PerformStep niet nodig en wordt een InvalidOperationException.

Van toepassing op

Zie ook