ProgressBar.Minimum Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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

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

public int Minimum { get; set; }

Property Value

Type: System.Int32

The minimum value of the range. The default is 0.

Exception Condition

The value specified for the property is less than 0.

This property specifies the lower limit of the Value property. When the value of the Minimum 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 Minimum property, the progress bar is empty. To change the value of the progress bar, use the Step property with the PerformStep method, use the Increment method, or set the value of the Value property directly.

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.

.NET Framework
Available since 1.1
Return to top