ProgressBar.Maximum Property


Gets or sets the maximum value of the range of the control.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

Public Property Maximum As Integer

Property Value

Type: System.Int32

The maximum value of the range. The default is 100.

Exception Condition

The value specified is less than 0.

This property specifies the upper limit of the Value property. When the value of the Maximum property is changed, the ProgressBar control is redrawn to reflect the new range of the control. When the value of the Value property is equal to the value of the Maximum property, the progress bar is completely filled.

You can use this property to specify a value to which the Value property must be set (by setting the Value property or using the Increment or PerformStep methods) to indicate that an operation is complete. For example, you can set the value of the Maximum property to the total number of files in a file copy operation. Each time a file is copied, the Value property can be increased by 1 until the total number of files is copied. At that point, the progress bar would be completely filled.

The following code example uses a ProgressBar control to display the progress of a file copy operation. The example uses the Minimum and Maximum properties to specify a range for the ProgressBar that is equivalent to the number of files to copy. The code also uses the Step property with the PerformStep method to increment the value of the ProgressBar as a file is copied. This example requires that you have a ProgressBar control created called pBar1 that is created within a Form and that there is a method created called CopyFile (that returns a Boolean value indicating the file copy operation was completed successfully) that performs the file copy operation. The code also requires that an array of strings containing the files to copy is created and passed to the CopyWithProgress method defined in the example and that the method is called from another method or event in the 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.
        End If
    Next x
End Sub

.NET Framework
Available since 1.1
Return to top