ProgressBar.PerformStep Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Avanza la posición actual de la barra de progreso en la cantidad especificada por la propiedad Step.
public:
void PerformStep();
public void PerformStep ();
member this.PerformStep : unit -> unit
Public Sub PerformStep ()
Excepciones
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 que ProgressBar sea 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 archivo. En este ejemplo se requiere que tenga un ProgressBar control creado denominado pBar1
que se crea dentro de y Formque 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 método definido en el ejemplo y que se llame al CopyWithProgress
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 ] ) == 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
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, la llamada a PerformStep no es necesaria y generará una InvalidOperationExceptionexcepción .