ProgressBar.PerformStep Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.