Assembly : System.Windows.Forms (dans system.windows.forms.dll)
Syntaxe<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _ <ComVisibleAttribute(True)> _ Public Class ProgressBar Inherits Control
Dim instance As ProgressBar
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] [ComVisibleAttribute(true)] public class ProgressBar : Control
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] [ComVisibleAttribute(true)] public ref class ProgressBar : public Control
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ /** @attribute ComVisibleAttribute(true) */ public class ProgressBar extends Control
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) ComVisibleAttribute(true) public class ProgressBar extends Control
NotesUn contrôle ProgressBar indique visuellement la progression d'une opération longue à l'aide de trois styles différents :
-
Blocs segmentés qui augmentent par étapes de gauche à droite.
-
Barre continue qui se remplit de gauche à droite.
-
Bloc qui défile le long de ProgressBar à la manière d'un texte défilant.
La propriété Style détermine le style de ProgressBar qui est affiché. Notez que le contrôle ProgressBar peut uniquement être orienté horizontalement. Pour obtenir un exemple de la façon de créer un ProgressBar orienté verticalement, consultez la classe ProgressBarRenderer. Le contrôle ProgressBar est en règle générale utilisé lorsqu'une application effectue des tâches telles que la copie de fichiers ou l'impression de documents. En l'absence d'indicateur visuel, les utilisateurs d'une application risquent de penser qu'elle ne répond pas. En utilisant ProgressBar dans votre application, vous alertez l'utilisateur que l'application effectue une tâche de longue durée et qu'elle répond toujours.
Les propriétés Maximum et Minimum définissent la plage de valeurs pour représenter la progression d'une tâche. La valeur attribuée à la propriété Minimum est généralement 0 et celle attribuée à la propriété Maximum indique généralement l'achèvement d'une tâche. Par exemple, pour afficher correctement la progression de la copie d'un groupe de fichiers, la valeur à attribuer à la propriété Maximum pourrait être le nombre total de fichiers à copier.
La propriété Value représente la progression de l'application dans l'achèvement de l'opération. La valeur affichée par ProgressBar n'est qu'une approximation de la valeur actuelle de la propriété Value. En fonction de la taille de ProgressBar, la propriété Value détermine quand afficher le bloc suivant ou augmenter la taille de la barre.
Il existe de nombreuses autres manières de modifier la valeur affichée par ProgressBar que de modifier directement la propriété Value. Vous pouvez utiliser la propriété Step pour définir une valeur d'incrément spécifique de la propriété Value, puis appeler la méthode PerformStep pour incrémenter la valeur. Pour faire varier la valeur d'incrément, vous pouvez utiliser la méthode Increment et spécifier une nouvelle valeur d'incrément de la propriété Value.
Remarque |
|---|
| Les modifications de ForeColor pour le ProgressBar ne sont pas honorées lorsque les styles visuels sont activés sur Windows XP Édition Familiale, Windows XP Professionnel, Windows Server 2003 et versions ultérieures. |
ExempleL'exemple de code suivant utilise un contrôle ProgressBar pour afficher la progression d'une opération de copie d'un fichier. L'exemple utilise les propriétés Minimum et Maximum pour spécifier pour ProgressBar une plage équivalente au nombre de fichiers à copier. Le code utilise aussi la propriété Step avec la méthode PerformStep pour incrémenter la valeur de ProgressBar chaque fois qu'un fichier est copié. Cet exemple suppose que vous avez créé un contrôle ProgressBar nommé pBar1 dans Form et une méthode nommée CopyFile (qui retourne une valeur Boolean indiquant que l'opération de copie du fichier s'est achevée avec succès) qui effectue l'opération de copie des fichiers. Le code suppose également qu'un tableau de chaînes contenant les fichiers à copier est créé et passé à la méthode CopyWithProgress définie dans l'exemple et que la méthode est appelée depuis une autre méthode ou un autre événement dans Form.
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
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: 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.set_Visible(true); // Set Minimum to 1 to represent the first file being copied. pBar1.set_Minimum(1); // Set Maximum to the total number of files to copy. pBar1.set_Maximum(fileNames.get_Length()); // Set the initial value of the ProgressBar. pBar1.set_Value(1); // Set the Step property to a value of 1 to represent each file // being copied. pBar1.set_Step(1); // Loop through all files to copy. for (int x = 1; x <= fileNames.get_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(); } } } //CopyWithProgress
Hiérarchie d'héritageSystem.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.ProgressBar
Sécurité des threads
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
Remarque
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ