Export (0) Print
Expand All

ToolStripProgressBar Class

Represents a Windows progress bar control contained in a StatusStrip.

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

public class ToolStripProgressBar : ToolStripControlHost

The ToolStripProgressBar type exposes the following members.

  NameDescription
Public methodToolStripProgressBar()Initializes a new instance of the ToolStripProgressBar class.
Public methodToolStripProgressBar(String)Initializes a new instance of the ToolStripProgressBar class with specified name.
Top

  NameDescription
Public propertyAccessibilityObjectGets the AccessibleObject assigned to the control. (Inherited from ToolStripItem.)
Public propertyAccessibleDefaultActionDescriptionGets or sets the default action description of the control for use by accessibility client applications. (Inherited from ToolStripItem.)
Public propertyAccessibleDescriptionGets or sets the description that will be reported to accessibility client applications. (Inherited from ToolStripItem.)
Public propertyAccessibleNameGets or sets the name of the control for use by accessibility client applications. (Inherited from ToolStripItem.)
Public propertyAccessibleRoleGets or sets the accessible role of the control, which specifies the type of user interface element of the control. (Inherited from ToolStripItem.)
Public propertyAlignmentGets or sets a value indicating whether the item aligns towards the beginning or end of the ToolStrip. (Inherited from ToolStripItem.)
Public propertyAllowDropGets or sets a value indicating whether drag-and-drop and item reordering are handled through events that you implement. (Inherited from ToolStripItem.)
Public propertyAnchorGets or sets the edges of the container to which a ToolStripItem is bound and determines how a ToolStripItem is resized with its parent. (Inherited from ToolStripItem.)
Public propertyAutoSizeGets or sets a value indicating whether the item is automatically sized. (Inherited from ToolStripItem.)
Public propertyAutoToolTipGets or sets a value indicating whether to use the Text property or the ToolTipText property for the ToolStripItem ToolTip. (Inherited from ToolStripItem.)
Public propertyAvailableGets or sets a value indicating whether the ToolStripItem should be placed on a ToolStrip. (Inherited from ToolStripItem.)
Public propertyBackColorGets or sets the background color for the control. (Inherited from ToolStripControlHost.)
Public propertyBackgroundImageInfrastructure. This property is not relevant to this class. (Overrides ToolStripControlHost.BackgroundImage.)
Public propertyBackgroundImageLayoutInfrastructure. This property is not relevant to this class. (Overrides ToolStripControlHost.BackgroundImageLayout.)
Public propertyBoundsGets the size and location of the item. (Inherited from ToolStripItem.)
Protected propertyCanRaiseEventsGets a value indicating whether the component can raise an event. (Inherited from Component.)
Public propertyCanSelectGets a value indicating whether the control can be selected. (Inherited from ToolStripControlHost.)
Public propertyCausesValidationGets or sets a value indicating whether the hosted control causes and raises validation events on other controls when the hosted control receives focus. (Inherited from ToolStripControlHost.)
Public propertyContainerGets the IContainer that contains the Component. (Inherited from Component.)
Public propertyContentRectangleGets the area where content, such as text and icons, can be placed within a ToolStripItem without overwriting background borders. (Inherited from ToolStripItem.)
Public propertyControlGets the Control that this ToolStripControlHost is hosting. (Inherited from ToolStripControlHost.)
Public propertyControlAlignGets or sets the alignment of the control on the form. (Inherited from ToolStripControlHost.)
Protected propertyDefaultAutoToolTipGets a value indicating whether to display the ToolTip that is defined as the default. (Inherited from ToolStripItem.)
Protected propertyDefaultDisplayStyleGets a value indicating what is displayed on the ToolStripItem. (Inherited from ToolStripItem.)
Protected propertyDefaultMarginGets the spacing between the ToolStripProgressBar and adjacent items. (Overrides ToolStripItem.DefaultMargin.)
Protected propertyDefaultPaddingGets the internal spacing characteristics of the item. (Inherited from ToolStripItem.)
Protected propertyDefaultSizeGets the height and width of the ToolStripProgressBar in pixels. (Overrides ToolStripControlHost.DefaultSize.)
Protected propertyDesignModeGets a value that indicates whether the Component is currently in design mode. (Inherited from Component.)
Protected propertyDismissWhenClickedGets a value indicating whether items on a ToolStripDropDown are hidden after they are clicked. (Inherited from ToolStripItem.)
Public propertyDisplayStyleInfrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public propertyDockGets or sets which ToolStripItem borders are docked to its parent control and determines how a ToolStripItem is resized with its parent. (Inherited from ToolStripItem.)
Public propertyDoubleClickEnabledInfrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public propertyEnabledGets or sets a value indicating whether the parent control of the ToolStripItem is enabled. (Inherited from ToolStripControlHost.)
Protected propertyEventsGets the list of event handlers that are attached to this Component. (Inherited from Component.)
Public propertyFocusedGets a value indicating whether the control has input focus. (Inherited from ToolStripControlHost.)
Public propertyFontGets or sets the font to be used on the hosted control. (Inherited from ToolStripControlHost.)
Public propertyForeColorGets or sets the foreground color of the hosted control. (Inherited from ToolStripControlHost.)
Public propertyHeightGets or sets the height, in pixels, of a ToolStripItem. (Inherited from ToolStripItem.)
Public propertyImageInfrastructure. The image associated with the object. (Inherited from ToolStripControlHost.)
Public propertyImageAlignInfrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public propertyImageIndexGets or sets the index value of the image that is displayed on the item. (Inherited from ToolStripItem.)
Public propertyImageKeyGets or sets the key accessor for the image in the ImageList that is displayed on a ToolStripItem. (Inherited from ToolStripItem.)
Public propertyImageScalingInfrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public propertyImageTransparentColorThis property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public propertyIsDisposedGets a value indicating whether the object has been disposed of. (Inherited from ToolStripItem.)
Public propertyIsOnDropDownGets a value indicating whether the container of the current Control is a ToolStripDropDown. (Inherited from ToolStripItem.)
Public propertyIsOnOverflowGets a value indicating whether the Placement property is set to Overflow. (Inherited from ToolStripItem.)
Public propertyMarginGets or sets the space between the item and adjacent items. (Inherited from ToolStripItem.)
Public propertyMarqueeAnimationSpeedGets or sets a value representing the delay between each Marquee display update, in milliseconds.
Public propertyMaximumGets or sets the upper bound of the range that is defined for this ToolStripProgressBar.
Public propertyMergeActionGets or sets how child menus are merged with parent menus. (Inherited from ToolStripItem.)
Public propertyMergeIndexGets or sets the position of a merged item within the current ToolStrip. (Inherited from ToolStripItem.)
Public propertyMinimumGets or sets the lower bound of the range that is defined for this ToolStripProgressBar.
Public propertyNameGets or sets the name of the item. (Inherited from ToolStripItem.)
Public propertyOverflowGets or sets whether the item is attached to the ToolStrip or ToolStripOverflowButton or can float between the two. (Inherited from ToolStripItem.)
Public propertyOwnerGets or sets the owner of this item. (Inherited from ToolStripItem.)
Public propertyOwnerItemGets the parent ToolStripItem of this ToolStripItem. (Inherited from ToolStripItem.)
Public propertyPaddingGets or sets the internal spacing, in pixels, between the item's contents and its edges. (Inherited from ToolStripItem.)
Protected propertyParentGets or sets the parent container of the ToolStripItem. (Inherited from ToolStripItem.)
Public propertyPlacementGets the current layout of the item. (Inherited from ToolStripItem.)
Public propertyPressedGets a value indicating whether the state of the item is pressed. (Inherited from ToolStripItem.)
Public propertyProgressBarGets the ProgressBar.
Public propertyRightToLeftGets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts. (Inherited from ToolStripControlHost.)
Public propertyRightToLeftAutoMirrorImageInfrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public propertyRightToLeftLayoutGets or sets a value indicating whether the ToolStripProgressBar layout is right-to-left or left-to-right when the RightToLeft property is set to Yes.
Public propertySelectedGets a value indicating whether the item is selected. (Inherited from ToolStripControlHost.)
Protected propertyShowKeyboardCuesGets a value indicating whether to show or hide shortcut keys. (Inherited from ToolStripItem.)
Public propertySiteGets or sets the site of the hosted control. (Inherited from ToolStripControlHost.)
Public propertySizeGets or sets the size of the ToolStripItem. (Inherited from ToolStripControlHost.)
Public propertyStepGets or sets the amount by which to increment the current value of the ToolStripProgressBar when the PerformStep method is called.
Public propertyStyleGets or sets the style of the ToolStripProgressBar.
Public propertyTagGets or sets the object that contains data about the item. (Inherited from ToolStripItem.)
Public propertyTextGets or sets the text displayed on the ToolStripProgressBar. (Overrides ToolStripControlHost.Text.)
Public propertyTextAlignInfrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public propertyTextDirectionInfrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public propertyTextImageRelationInfrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public propertyToolTipTextGets or sets the text that appears as a ToolTip for a control. (Inherited from ToolStripItem.)
Public propertyValueGets or sets the current value of the ToolStripProgressBar.
Public propertyVisibleGets or sets a value indicating whether the item is displayed. (Inherited from ToolStripItem.)
Public propertyWidthGets or sets the width in pixels of a ToolStripItem. (Inherited from ToolStripItem.)
Top

  NameDescription
Protected methodCreateAccessibilityInstanceCreates a new accessibility object for the control. (Inherited from ToolStripControlHost.)
Public methodCreateObjRefCreates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public methodDispose()Releases all resources used by the Component. (Inherited from Component.)
Protected methodDispose(Boolean)Releases the unmanaged resources used by the ToolStripControlHost and optionally releases the managed resources. (Inherited from ToolStripControlHost.)
Public methodDoDragDropBegins a drag-and-drop operation. (Inherited from ToolStripItem.)
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeReleases unmanaged resources and performs other cleanup operations before the Component is reclaimed by garbage collection. (Inherited from Component.)
Public methodFocusGives the focus to a control. (Inherited from ToolStripControlHost.)
Public methodGetCurrentParentRetrieves the ToolStrip that is the container of the current ToolStripItem. (Inherited from ToolStripItem.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetLifetimeServiceRetrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public methodGetPreferredSizeRetrieves the size of a rectangular area into which a control can be fitted. (Inherited from ToolStripControlHost.)
Protected methodGetServiceReturns an object that represents a service provided by the Component or by its Container. (Inherited from Component.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodIncrementAdvances the current position of the progress bar by the specified amount.
Public methodInitializeLifetimeServiceObtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public methodInvalidate()Invalidates the entire surface of the ToolStripItem and causes it to be redrawn. (Inherited from ToolStripItem.)
Public methodInvalidate(Rectangle)Invalidates the specified region of the ToolStripItem by adding it to the update region of the ToolStripItem, which is the area that will be repainted at the next paint operation, and causes a paint message to be sent to the ToolStripItem. (Inherited from ToolStripItem.)
Protected methodIsInputCharDetermines whether a character is an input character that the item recognizes. (Inherited from ToolStripItem.)
Protected methodIsInputKeyDetermines whether the specified key is a regular input key or a special key that requires preprocessing. (Inherited from ToolStripItem.)
Protected methodMemberwiseClone()Creates a shallow copy of the current Object. (Inherited from Object.)
Protected methodMemberwiseClone(Boolean)Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Protected methodOnAvailableChangedRaises the AvailableChanged event. (Inherited from ToolStripItem.)
Protected methodOnBackColorChangedRaises the BackColorChanged event. (Inherited from ToolStripItem.)
Protected methodOnBoundsChangedOccurs when the Bounds property changes. (Inherited from ToolStripControlHost.)
Protected methodOnClickRaises the Click event. (Inherited from ToolStripItem.)
Protected methodOnDisplayStyleChangedRaises the DisplayStyleChanged event. (Inherited from ToolStripItem.)
Protected methodOnDoubleClickRaises the DoubleClick event. (Inherited from ToolStripItem.)
Protected methodOnDragDropRaises the DragDrop event. (Inherited from ToolStripItem.)
Protected methodOnDragEnterRaises the DragEnter event. (Inherited from ToolStripItem.)
Protected methodOnDragLeaveRaises the DragLeave event. (Inherited from ToolStripItem.)
Protected methodOnDragOverRaises the DragOver event. (Inherited from ToolStripItem.)
Protected methodOnEnabledChangedRaises the EnabledChanged event. (Inherited from ToolStripItem.)
Protected methodOnEnterRaises the Enter event. (Inherited from ToolStripControlHost.)
Protected methodOnFontChangedRaises the FontChanged event. (Inherited from ToolStripItem.)
Protected methodOnForeColorChangedRaises the ForeColorChanged event. (Inherited from ToolStripItem.)
Protected methodOnGiveFeedbackRaises the GiveFeedback event. (Inherited from ToolStripItem.)
Protected methodOnGotFocusRaises the GotFocus event. (Inherited from ToolStripControlHost.)
Protected methodOnHostedControlResizeSynchronizes the resizing of the control host with the resizing of the hosted control. (Inherited from ToolStripControlHost.)
Protected methodOnKeyDownRaises the KeyDown event. (Inherited from ToolStripControlHost.)
Protected methodOnKeyPressRaises the KeyPress event. (Inherited from ToolStripControlHost.)
Protected methodOnKeyUpRaises the KeyUp event. (Inherited from ToolStripControlHost.)
Protected methodOnLayoutRaises the Layout event. (Inherited from ToolStripControlHost.)
Protected methodOnLeaveRaises the Leave event. (Inherited from ToolStripControlHost.)
Protected methodOnLocationChangedRaises the LocationChanged event. (Inherited from ToolStripItem.)
Protected methodOnLostFocusRaises the LostFocus event. (Inherited from ToolStripControlHost.)
Protected methodOnMouseDownRaises the MouseDown event. (Inherited from ToolStripItem.)
Protected methodOnMouseEnterRaises the MouseEnter event. (Inherited from ToolStripItem.)
Protected methodOnMouseHoverRaises the MouseHover event. (Inherited from ToolStripItem.)
Protected methodOnMouseLeaveRaises the MouseLeave event. (Inherited from ToolStripItem.)
Protected methodOnMouseMoveRaises the MouseMove event. (Inherited from ToolStripItem.)
Protected methodOnMouseUpRaises the MouseUp event. (Inherited from ToolStripItem.)
Protected methodOnOwnerChangedRaises the OwnerChanged event. (Inherited from ToolStripItem.)
Protected methodOnOwnerFontChangedRaises the FontChanged event when the Font property has changed on the parent of the ToolStripItem. (Inherited from ToolStripItem.)
Protected methodOnPaintRaises the Paint event. (Inherited from ToolStripControlHost.)
Protected methodOnParentBackColorChangedRaises the BackColorChanged event. (Inherited from ToolStripItem.)
Protected methodOnParentChangedRaises the ParentChanged event. (Inherited from ToolStripControlHost.)
Protected methodOnParentEnabledChangedRaises the EnabledChanged event when the Enabled property value of the item's container changes. (Inherited from ToolStripItem.)
Protected methodOnParentForeColorChangedRaises the ForeColorChanged event. (Inherited from ToolStripItem.)
Protected methodOnParentRightToLeftChangedRaises the RightToLeftChanged event. (Inherited from ToolStripItem.)
Protected methodOnQueryContinueDragRaises the QueryContinueDrag event. (Inherited from ToolStripItem.)
Protected methodOnRightToLeftChangedRaises the RightToLeftChanged event. (Inherited from ToolStripItem.)
Protected methodOnRightToLeftLayoutChangedRaises the RightToLeftLayoutChanged event.
Protected methodOnSubscribeControlEventsSubscribes events from the hosted control. (Overrides ToolStripControlHost.OnSubscribeControlEvents(Control).)
Protected methodOnTextChangedRaises the TextChanged event. (Inherited from ToolStripItem.)
Protected methodOnUnsubscribeControlEventsUnsubscribes events from the hosted control. (Overrides ToolStripControlHost.OnUnsubscribeControlEvents(Control).)
Protected methodOnValidatedRaises the Validated event. (Inherited from ToolStripControlHost.)
Protected methodOnValidatingRaises the Validating event. (Inherited from ToolStripControlHost.)
Protected methodOnVisibleChangedRaises the VisibleChanged event. (Inherited from ToolStripItem.)
Public methodPerformClickActivates the ToolStripItem when it is clicked with the mouse. (Inherited from ToolStripItem.)
Public methodPerformStepAdvances the current position of the progress bar by the amount of the Step property.
Protected methodProcessCmdKeyProcesses a command key. (Inherited from ToolStripControlHost.)
Protected methodProcessDialogKeyProcesses a dialog key. (Inherited from ToolStripControlHost.)
Protected methodProcessMnemonicProcesses a mnemonic character. (Inherited from ToolStripControlHost.)
Public methodResetBackColorInfrastructure. This method is not relevant to this class. (Inherited from ToolStripControlHost.)
Public methodResetDisplayStyleInfrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public methodResetFontInfrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public methodResetForeColorInfrastructure. This method is not relevant to this class. (Inherited from ToolStripControlHost.)
Public methodResetImageInfrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public methodResetMarginInfrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public methodResetPaddingInfrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public methodResetRightToLeftInfrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public methodResetTextDirectionInfrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public methodSelectSelects the item. (Inherited from ToolStripItem.)
Protected methodSetBoundsSets the size and location of the item. (Inherited from ToolStripItem.)
Protected methodSetVisibleCoreSets the ToolStripItem to the specified visible state. (Inherited from ToolStripControlHost.)
Public methodToStringReturns a String containing the name of the Component, if any. This method should not be overridden. (Inherited from ToolStripItem.)
Top

  NameDescription
Public eventAvailableChangedOccurs when the value of the Available property changes. (Inherited from ToolStripItem.)
Public eventBackColorChangedOccurs when the value of the BackColor property changes. (Inherited from ToolStripItem.)
Public eventClickOccurs when the ToolStripItem is clicked. (Inherited from ToolStripItem.)
Public eventDisplayStyleChangedInfrastructure. This event is not relevant to this class. (Inherited from ToolStripControlHost.)
Public eventDisposedOccurs when the component is disposed by a call to the Dispose method. (Inherited from Component.)
Public eventDoubleClickOccurs when the item is double-clicked with the mouse. (Inherited from ToolStripItem.)
Public eventDragDropOccurs when the user drags an item and the user releases the mouse button, indicating that the item should be dropped into this item. (Inherited from ToolStripItem.)
Public eventDragEnterOccurs when the user drags an item into the client area of this item. (Inherited from ToolStripItem.)
Public eventDragLeaveOccurs when the user drags an item and the mouse pointer is no longer over the client area of this item. (Inherited from ToolStripItem.)
Public eventDragOverOccurs when the user drags an item over the client area of this item. (Inherited from ToolStripItem.)
Public eventEnabledChangedOccurs when the Enabled property value has changed. (Inherited from ToolStripItem.)
Public eventEnterOccurs when the hosted control is entered. (Inherited from ToolStripControlHost.)
Public eventForeColorChangedOccurs when the ForeColor property value changes. (Inherited from ToolStripItem.)
Public eventGiveFeedbackOccurs during a drag operation. (Inherited from ToolStripItem.)
Public eventGotFocusOccurs when the hosted control receives focus. (Inherited from ToolStripControlHost.)
Public eventKeyDownInfrastructure. This event is not relevant for this class.
Public eventKeyPressInfrastructure. This event is not relevant for this class.
Public eventKeyUpInfrastructure. This event is not relevant for this class.
Public eventLeaveOccurs when the input focus leaves the hosted control. (Inherited from ToolStripControlHost.)
Public eventLocationChangedInfrastructure. This event is not relevant for this class.
Public eventLostFocusOccurs when the hosted control loses focus. (Inherited from ToolStripControlHost.)
Public eventMouseDownOccurs when the mouse pointer is over the item and a mouse button is pressed. (Inherited from ToolStripItem.)
Public eventMouseEnterOccurs when the mouse pointer enters the item. (Inherited from ToolStripItem.)
Public eventMouseHoverOccurs when the mouse pointer hovers over the item. (Inherited from ToolStripItem.)
Public eventMouseLeaveOccurs when the mouse pointer leaves the item. (Inherited from ToolStripItem.)
Public eventMouseMoveOccurs when the mouse pointer is moved over the item. (Inherited from ToolStripItem.)
Public eventMouseUpOccurs when the mouse pointer is over the item and a mouse button is released. (Inherited from ToolStripItem.)
Public eventOwnerChangedInfrastructure. This event is not relevant for this class.
Public eventPaintOccurs when the item is redrawn. (Inherited from ToolStripItem.)
Public eventQueryAccessibilityHelpOccurs when an accessibility client application invokes help for the ToolStripItem. (Inherited from ToolStripItem.)
Public eventQueryContinueDragOccurs during a drag-and-drop operation and allows the drag source to determine whether the drag-and-drop operation should be canceled. (Inherited from ToolStripItem.)
Public eventRightToLeftChangedOccurs when the RightToLeft property value changes. (Inherited from ToolStripItem.)
Public eventRightToLeftLayoutChangedOccurs when the value of the RightToLeftLayout property changes.
Public eventTextChangedInfrastructure. This event is not relevant for this class.
Public eventValidatedInfrastructure. This event is not relevant to this class.
Public eventValidatingInfrastructure. This event is not relevant to this class.
Public eventVisibleChangedOccurs when the value of the Visible property changes. (Inherited from ToolStripItem.)
Top

  NameDescription
Explicit interface implemetationPrivate methodIDropTarget.OnDragDropRaises the DragDrop event. (Inherited from ToolStripItem.)
Explicit interface implemetationPrivate methodIDropTarget.OnDragEnterRaises the DragEnter event. (Inherited from ToolStripItem.)
Explicit interface implemetationPrivate methodIDropTarget.OnDragLeaveRaises the DragLeave event. (Inherited from ToolStripItem.)
Explicit interface implemetationPrivate methodIDropTarget.OnDragOverRaises the DragOver event. (Inherited from ToolStripItem.)
Top

ToolStripProgressBar is the ProgressBar optimized for hosting in a ToolStrip. A subset of the hosted control's properties and events are exposed at the ToolStripProgressBar level, but the underlying ProgressBar control is fully accessible through the ProgressBar property.

A ToolStripProgressBar control visually indicates the progress of a lengthy operation. The ToolStripProgressBar control displays a bar that fills in from left to right with the system highlight color as an operation progresses.

NoteNote

The ToolStripProgressBar control can only be oriented horizontally.

The ToolStripProgressBar control is typically used when an application performs tasks such as copying files or printing documents. Users of an application might consider an application unresponsive if there is no visual cue. Use the ToolStripProgressBar to notify the user that the application is performing a lengthy task and that the application is still responding.

The Maximum and Minimum properties define the range of values to represent the progress of a task. The Minimum property is typically set to a value of zero, and the Maximum property is typically set to a value indicating the completion of a task. For example, to display the progress properly when copying a group of files, the Maximum property could be set to the total number of files to be copied. The Value property represents the progress that the application has made toward completing the operation. Because the bar displayed in the control is a collection of blocks, the value displayed by the ToolStripProgressBar only approximates the Value property's current value. Based on the size of the ToolStripProgressBar, the Value property determines when to display the next block.

There are a number of ways to modify the value displayed by the ToolStripProgressBar other than changing the Value property directly. You can use the Step property to specify a specific value to increment the Value property by, and then call the PerformStep method to increment the value. To vary the increment value, you can use the Increment method and specify a value by which to increment the Value property.

ToolStripProgressBar replaces the older ProgressBar control, which is nevertheless retained for backward compatibility.

The following code example demonstrates a ToolStripProgressBar that calculates a sequence of Fibonacci numbers.

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.ComponentModel;

class FibonacciNumber : Form
{
	[STAThread]
	static void Main()
	{
		Application.EnableVisualStyles();
		Application.Run(new FibonacciNumber());
	}

	private StatusStrip progressStatusStrip;
	private ToolStripProgressBar toolStripProgressBar;
	private NumericUpDown requestedCountControl;
	private Button goButton;
	private TextBox outputTextBox;
	private BackgroundWorker backgroundWorker;
	private ToolStripStatusLabel toolStripStatusLabel;
	private int requestedCount;

	public FibonacciNumber()
	{
		Text = "Fibonacci";
		
		// Prepare the StatusStrip.
		progressStatusStrip = new StatusStrip();
		toolStripProgressBar = new ToolStripProgressBar();
		toolStripProgressBar.Enabled = false;
		toolStripStatusLabel = new ToolStripStatusLabel();
		progressStatusStrip.Items.Add(toolStripProgressBar);
		progressStatusStrip.Items.Add(toolStripStatusLabel);

		FlowLayoutPanel flp = new FlowLayoutPanel();
		flp.Dock = DockStyle.Top;

		Label beforeLabel = new Label();
		beforeLabel.Text = "Calculate the first ";
		beforeLabel.AutoSize = true;
		flp.Controls.Add(beforeLabel);
		requestedCountControl = new NumericUpDown();
		requestedCountControl.Maximum = 1000;
		requestedCountControl.Minimum = 1;
		requestedCountControl.Value = 100;
		flp.Controls.Add(requestedCountControl);
		Label afterLabel = new Label();
		afterLabel.Text = "Numbers in the Fibonacci sequence.";
		afterLabel.AutoSize = true;
		flp.Controls.Add(afterLabel);
		
		goButton = new Button();
		goButton.Text = "&Go";
		goButton.Click += new System.EventHandler(button1_Click);
		flp.Controls.Add(goButton);

		outputTextBox = new TextBox();
		outputTextBox.Multiline = true;
		outputTextBox.ReadOnly = true;
		outputTextBox.ScrollBars = ScrollBars.Vertical;
		outputTextBox.Dock = DockStyle.Fill;

		Controls.Add(outputTextBox);
		Controls.Add(progressStatusStrip);
		Controls.Add(flp);

		backgroundWorker = new BackgroundWorker();
		backgroundWorker.WorkerReportsProgress = true;
		backgroundWorker.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
		backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted);
		backgroundWorker.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged);
		
	}

	private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
	{
		// This method will run on a thread other than the UI thread. 
		// Be sure not to manipulate any Windows Forms controls created 
		// on the UI thread from this method.
		backgroundWorker.ReportProgress(0, "Working...");
		Decimal lastlast = 0;
		Decimal last = 1;
		Decimal current;
		if (requestedCount >= 1)
		{ AppendNumber(0); }
		if (requestedCount >= 2)
		{ AppendNumber(1); }
		for (int i = 2; i < requestedCount; ++i)
		{
			// Calculate the number. 
			checked { current = lastlast + last; }
			// Introduce some delay to simulate a more complicated calculation.
			System.Threading.Thread.Sleep(100);
			AppendNumber(current);
			backgroundWorker.ReportProgress((100 * i) / requestedCount, "Working...");
			// Get ready for the next iteration.
			lastlast = last;
			last = current;
		}


		backgroundWorker.ReportProgress(100, "Complete!");
	}

	private delegate void AppendNumberDelegate(Decimal number);
	private void AppendNumber(Decimal number)
	{
		if (outputTextBox.InvokeRequired)
		{ outputTextBox.Invoke(new AppendNumberDelegate(AppendNumber), number); }
		else
		{ outputTextBox.AppendText(number.ToString("N0") + Environment.NewLine); }
	}
	private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
	{
		toolStripProgressBar.Value = e.ProgressPercentage;
		toolStripStatusLabel.Text = e.UserState as String;
	}

	private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
	{
		if (e.Error is OverflowException)
		{ outputTextBox.AppendText(Environment.NewLine + "**OVERFLOW ERROR, number is too large to be represented by the decimal data type**"); }
		toolStripProgressBar.Enabled = false;
		requestedCountControl.Enabled = true;
		goButton.Enabled = true;

	}

	private void button1_Click(object sender, EventArgs e)
	{
		goButton.Enabled = false;
		toolStripProgressBar.Enabled = true;
		requestedCount = (int)requestedCountControl.Value;
		requestedCountControl.Enabled = false;
		outputTextBox.Clear();
		backgroundWorker.RunWorkerAsync();
	}
}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft