This documentation is archived and is not being maintained.

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 int Maximum { get; set; }

Property Value

Type: System.Int32
The maximum value of the range. The default is 100.


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 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.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0