This topic has not yet been rated - Rate this topic

ToolStripProgressBar Class

Represents a Windows progress bar control contained in a StatusStrip.

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Windows.Forms.ToolStripItem
        System.Windows.Forms.ToolStripControlHost
          System.Windows.Forms.ToolStripProgressBar

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)
public class ToolStripProgressBar : ToolStripControlHost

The ToolStripProgressBar type exposes the following members.

  Name Description
Public method ToolStripProgressBar() Initializes a new instance of the ToolStripProgressBar class.
Public method ToolStripProgressBar(String) Initializes a new instance of the ToolStripProgressBar class with specified name.
Top
  Name Description
Public property AccessibilityObject Gets the AccessibleObject assigned to the control. (Inherited from ToolStripItem.)
Public property AccessibleDefaultActionDescription Gets or sets the default action description of the control for use by accessibility client applications. (Inherited from ToolStripItem.)
Public property AccessibleDescription Gets or sets the description that will be reported to accessibility client applications. (Inherited from ToolStripItem.)
Public property AccessibleName Gets or sets the name of the control for use by accessibility client applications. (Inherited from ToolStripItem.)
Public property AccessibleRole Gets or sets the accessible role of the control, which specifies the type of user interface element of the control. (Inherited from ToolStripItem.)
Public property Alignment Gets or sets a value indicating whether the item aligns towards the beginning or end of the ToolStrip. (Inherited from ToolStripItem.)
Public property AllowDrop Gets or sets a value indicating whether drag-and-drop and item reordering are handled through events that you implement. (Inherited from ToolStripItem.)
Public property Anchor Gets 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 property AutoSize Gets or sets a value indicating whether the item is automatically sized. (Inherited from ToolStripItem.)
Public property AutoToolTip Gets or sets a value indicating whether to use the Text property or the ToolTipText property for the ToolStripItem ToolTip. (Inherited from ToolStripItem.)
Public property Available Gets or sets a value indicating whether the ToolStripItem should be placed on a ToolStrip. (Inherited from ToolStripItem.)
Public property BackColor Gets or sets the background color for the item. (Inherited from ToolStripControlHost.)
Public property BackgroundImage Infrastructure. This property is not relevant to this class. (Overrides ToolStripControlHost.BackgroundImage.)
Public property BackgroundImageLayout Infrastructure. This property is not relevant to this class. (Overrides ToolStripControlHost.BackgroundImageLayout.)
Public property Bounds Gets the size and location of the item. (Inherited from ToolStripItem.)
Protected property CanRaiseEvents Gets a value indicating whether the component can raise an event. (Inherited from Component.)
Public property CanSelect Gets a value indicating whether the control can be selected. (Inherited from ToolStripControlHost.)
Public property CausesValidation Gets 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 property Container Gets the IContainer that contains the Component. (Inherited from Component.)
Public property ContentRectangle Gets the area where content, such as text and icons, can be placed within a ToolStripItem without overwriting background borders. (Inherited from ToolStripItem.)
Public property Control Gets the Control that this ToolStripControlHost is hosting. (Inherited from ToolStripControlHost.)
Public property ControlAlign Gets or sets the alignment of the control on the form. (Inherited from ToolStripControlHost.)
Protected property DefaultAutoToolTip Gets a value indicating whether to display the ToolTip that is defined as the default. (Inherited from ToolStripItem.)
Protected property DefaultDisplayStyle Gets a value indicating what is displayed on the ToolStripItem. (Inherited from ToolStripItem.)
Protected property DefaultMargin Gets the spacing between the ToolStripProgressBar and adjacent items. (Overrides ToolStripItem.DefaultMargin.)
Protected property DefaultPadding Gets the internal spacing characteristics of the item. (Inherited from ToolStripItem.)
Protected property DefaultSize Gets the height and width of the ToolStripProgressBar in pixels. (Overrides ToolStripControlHost.DefaultSize.)
Protected property DesignMode Gets a value that indicates whether the Component is currently in design mode. (Inherited from Component.)
Protected property DismissWhenClicked Gets a value indicating whether items on a ToolStripDropDown are hidden after they are clicked. (Inherited from ToolStripItem.)
Public property DisplayStyle Infrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public property Dock Gets 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 property DoubleClickEnabled Infrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public property Enabled Gets or sets a value indicating whether the parent control of the ToolStripItem is enabled. (Inherited from ToolStripControlHost.)
Protected property Events Gets the list of event handlers that are attached to this Component. (Inherited from Component.)
Public property Focused Gets a value indicating whether the control has input focus. (Inherited from ToolStripControlHost.)
Public property Font Gets or sets the font to be used on the hosted control. (Inherited from ToolStripControlHost.)
Public property ForeColor Gets or sets the foreground color of the hosted control. (Inherited from ToolStripControlHost.)
Public property Height Gets or sets the height, in pixels, of a ToolStripItem. (Inherited from ToolStripItem.)
Public property Image Infrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public property ImageAlign Infrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public property ImageIndex Gets or sets the index value of the image that is displayed on the item. (Inherited from ToolStripItem.)
Public property ImageKey Gets or sets the key accessor for the image in the ImageList that is displayed on a ToolStripItem. (Inherited from ToolStripItem.)
Public property ImageScaling Infrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public property ImageTransparentColor This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public property IsDisposed Gets a value indicating whether the object has been disposed of. (Inherited from ToolStripItem.)
Public property IsOnDropDown Gets a value indicating whether the container of the current Control is a ToolStripDropDown. (Inherited from ToolStripItem.)
Public property IsOnOverflow Gets a value indicating whether the Placement property is set to Overflow. (Inherited from ToolStripItem.)
Public property Margin Gets or sets the space between the item and adjacent items. (Inherited from ToolStripItem.)
Public property MarqueeAnimationSpeed Gets or sets a value representing the delay between each Marquee display update, in milliseconds.
Public property Maximum Gets or sets the upper bound of the range that is defined for this ToolStripProgressBar.
Public property MergeAction Gets or sets how child menus are merged with parent menus. (Inherited from ToolStripItem.)
Public property MergeIndex Gets or sets the position of a merged item within the current ToolStrip. (Inherited from ToolStripItem.)
Public property Minimum Gets or sets the lower bound of the range that is defined for this ToolStripProgressBar.
Public property Name Gets or sets the name of the item. (Inherited from ToolStripItem.)
Public property Overflow Gets or sets whether the item is attached to the ToolStrip or ToolStripOverflowButton or can float between the two. (Inherited from ToolStripItem.)
Public property Owner Gets or sets the owner of this item. (Inherited from ToolStripItem.)
Public property OwnerItem Gets the parent ToolStripItem of this ToolStripItem. (Inherited from ToolStripItem.)
Public property Padding Gets or sets the internal spacing, in pixels, between the item's contents and its edges. (Inherited from ToolStripItem.)
Protected property Parent Gets or sets the parent container of the ToolStripItem. (Inherited from ToolStripItem.)
Public property Placement Gets the current layout of the item. (Inherited from ToolStripItem.)
Public property Pressed Gets a value indicating whether the state of the item is pressed. (Inherited from ToolStripItem.)
Public property ProgressBar Gets the ProgressBar.
Public property RightToLeft Gets or sets a value indicating whether items are to be placed from right to left and text is to be written from right to left. (Inherited from ToolStripControlHost.)
Public property RightToLeftAutoMirrorImage Infrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public property RightToLeftLayout Gets 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 property Selected Gets a value indicating whether the item is selected. (Inherited from ToolStripControlHost.)
Protected property ShowKeyboardCues Gets a value indicating whether to show or hide shortcut keys. (Inherited from ToolStripItem.)
Public property Site Gets or sets the site of the hosted control. (Inherited from ToolStripControlHost.)
Public property Size Gets or sets the size of the ToolStripItem. (Inherited from ToolStripControlHost.)
Public property Step Gets or sets the amount by which to increment the current value of the ToolStripProgressBar when the PerformStep method is called.
Public property Style Gets or sets the style of the ToolStripProgressBar.
Public property Tag Gets or sets the object that contains data about the item. (Inherited from ToolStripItem.)
Public property Text Gets or sets the text displayed on the ToolStripProgressBar. (Overrides ToolStripControlHost.Text.)
Public property TextAlign Infrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public property TextDirection Infrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public property TextImageRelation Infrastructure. This property is not relevant to this class. (Inherited from ToolStripControlHost.)
Public property ToolTipText Gets or sets the text that appears as a ToolTip for a control. (Inherited from ToolStripItem.)
Public property Value Gets or sets the current value of the ToolStripProgressBar.
Public property Visible Gets or sets a value indicating whether the item is displayed. (Inherited from ToolStripItem.)
Public property Width Gets or sets the width in pixels of a ToolStripItem. (Inherited from ToolStripItem.)
Top
  Name Description
Protected method CreateAccessibilityInstance Creates a new accessibility object for the ToolStripItem. (Inherited from ToolStripControlHost.)
Public method CreateObjRef Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public method Dispose() Releases all resources used by the Component. (Inherited from Component.)
Protected method Dispose(Boolean) Releases the unmanaged resources used by the ToolStripControlHost and optionally releases the managed resources. (Inherited from ToolStripControlHost.)
Public method DoDragDrop Begins a drag-and-drop operation. (Inherited from ToolStripItem.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Releases unmanaged resources and performs other cleanup operations before the Component is reclaimed by garbage collection. (Inherited from Component.)
Public method Focus Gives the focus to a control. (Inherited from ToolStripControlHost.)
Public method GetCurrentParent Retrieves the ToolStrip that is the container of the current ToolStripItem. (Inherited from ToolStripItem.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetLifetimeService Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public method GetPreferredSize Retrieves the size of a rectangular area into which a control can be fitted. (Inherited from ToolStripControlHost.)
Protected method GetService Returns an object that represents a service provided by the Component or by its Container. (Inherited from Component.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Increment Advances the current position of the progress bar by the specified amount.
Public method InitializeLifetimeService Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public method Invalidate() Invalidates the entire surface of the ToolStripItem and causes it to be redrawn. (Inherited from ToolStripItem.)
Public method Invalidate(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 method IsInputChar Determines whether a character is an input character that the item recognizes. (Inherited from ToolStripItem.)
Protected method IsInputKey Determines whether the specified key is a regular input key or a special key that requires preprocessing. (Inherited from ToolStripItem.)
Protected method MemberwiseClone() Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method MemberwiseClone(Boolean) Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Protected method OnAvailableChanged Raises the AvailableChanged event. (Inherited from ToolStripItem.)
Protected method OnBackColorChanged Raises the BackColorChanged event. (Inherited from ToolStripItem.)
Protected method OnBoundsChanged Occurs when the Bounds property changes. (Inherited from ToolStripControlHost.)
Protected method OnClick Raises the Click event. (Inherited from ToolStripItem.)
Protected method OnDisplayStyleChanged Raises the DisplayStyleChanged event. (Inherited from ToolStripItem.)
Protected method OnDoubleClick Raises the DoubleClick event. (Inherited from ToolStripItem.)
Protected method OnDragDrop Raises the DragDrop event. (Inherited from ToolStripItem.)
Protected method OnDragEnter Raises the DragEnter event. (Inherited from ToolStripItem.)
Protected method OnDragLeave Raises the DragLeave event. (Inherited from ToolStripItem.)
Protected method OnDragOver Raises the DragOver event. (Inherited from ToolStripItem.)
Protected method OnEnabledChanged Raises the EnabledChanged event. (Inherited from ToolStripItem.)
Protected method OnEnter Raises the Enter event. (Inherited from ToolStripControlHost.)
Protected method OnFontChanged Raises the FontChanged event. (Inherited from ToolStripItem.)
Protected method OnForeColorChanged Raises the ForeColorChanged event. (Inherited from ToolStripItem.)
Protected method OnGiveFeedback Raises the GiveFeedback event. (Inherited from ToolStripItem.)
Protected method OnGotFocus Raises the GotFocus event. (Inherited from ToolStripControlHost.)
Protected method OnHostedControlResize Synchronizes the resizing of the control host with the resizing of the hosted control. (Inherited from ToolStripControlHost.)
Protected method OnKeyDown Raises the KeyDown event. (Inherited from ToolStripControlHost.)
Protected method OnKeyPress Raises the KeyPress event. (Inherited from ToolStripControlHost.)
Protected method OnKeyUp Raises the KeyUp event. (Inherited from ToolStripControlHost.)
Protected method OnLayout Raises the Layout event. (Inherited from ToolStripControlHost.)
Protected method OnLeave Raises the Leave event. (Inherited from ToolStripControlHost.)
Protected method OnLocationChanged Raises the LocationChanged event. (Inherited from ToolStripItem.)
Protected method OnLostFocus Raises the LostFocus event. (Inherited from ToolStripControlHost.)
Protected method OnMouseDown Raises the MouseDown event. (Inherited from ToolStripItem.)
Protected method OnMouseEnter Raises the MouseEnter event. (Inherited from ToolStripItem.)
Protected method OnMouseHover Raises the MouseHover event. (Inherited from ToolStripItem.)
Protected method OnMouseLeave Raises the MouseLeave event. (Inherited from ToolStripItem.)
Protected method OnMouseMove Raises the MouseMove event. (Inherited from ToolStripItem.)
Protected method OnMouseUp Raises the MouseUp event. (Inherited from ToolStripItem.)
Protected method OnOwnerChanged Raises the OwnerChanged event. (Inherited from ToolStripItem.)
Protected method OnOwnerFontChanged Raises the FontChanged event when the Font property has changed on the parent of the ToolStripItem. (Inherited from ToolStripItem.)
Protected method OnPaint Raises the Paint event. (Inherited from ToolStripControlHost.)
Protected method OnParentBackColorChanged Raises the BackColorChanged event. (Inherited from ToolStripItem.)
Protected method OnParentChanged Raises the ParentChanged event. (Inherited from ToolStripControlHost.)
Protected method OnParentEnabledChanged Raises the EnabledChanged event when the Enabled property value of the item's container changes. (Inherited from ToolStripItem.)
Protected method OnParentForeColorChanged Raises the ForeColorChanged event. (Inherited from ToolStripItem.)
Protected method OnParentRightToLeftChanged Raises the RightToLeftChanged event. (Inherited from ToolStripItem.)
Protected method OnQueryContinueDrag Raises the QueryContinueDrag event. (Inherited from ToolStripItem.)
Protected method OnRightToLeftChanged Raises the RightToLeftChanged event. (Inherited from ToolStripItem.)
Protected method OnRightToLeftLayoutChanged Raises the RightToLeftLayoutChanged event.
Protected method OnSubscribeControlEvents Subscribes events from the hosted control. (Overrides ToolStripControlHost.OnSubscribeControlEvents(Control).)
Protected method OnTextChanged Raises the TextChanged event. (Inherited from ToolStripItem.)
Protected method OnUnsubscribeControlEvents Unsubscribes events from the hosted control. (Overrides ToolStripControlHost.OnUnsubscribeControlEvents(Control).)
Protected method OnValidated Raises the Validated event. (Inherited from ToolStripControlHost.)
Protected method OnValidating Raises the Validating event. (Inherited from ToolStripControlHost.)
Protected method OnVisibleChanged Raises the VisibleChanged event. (Inherited from ToolStripItem.)
Public method PerformClick Activates the ToolStripItem when it is clicked with the mouse. (Inherited from ToolStripItem.)
Public method PerformStep Advances the current position of the progress bar by the amount of the Step property.
Protected method ProcessCmdKey Processes a command key. (Inherited from ToolStripControlHost.)
Protected method ProcessDialogKey Processes a dialog key. (Inherited from ToolStripControlHost.)
Protected method ProcessMnemonic Processes a mnemonic character. (Inherited from ToolStripControlHost.)
Public method ResetBackColor Infrastructure. This method is not relevant to this class. (Inherited from ToolStripControlHost.)
Public method ResetDisplayStyle Infrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public method ResetFont Infrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public method ResetForeColor Infrastructure. This method is not relevant to this class. (Inherited from ToolStripControlHost.)
Public method ResetImage Infrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public method ResetMargin Infrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public method ResetPadding Infrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public method ResetRightToLeft Infrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public method ResetTextDirection Infrastructure. This method is not relevant to this class. (Inherited from ToolStripItem.)
Public method Select Selects the item. (Inherited from ToolStripItem.)
Protected method SetBounds Sets the size and location of the item. (Inherited from ToolStripItem.)
Protected method SetVisibleCore Sets the ToolStripItem to the specified visible state. (Inherited from ToolStripControlHost.)
Public method ToString Returns a String containing the name of the Component, if any. This method should not be overridden. (Inherited from ToolStripItem.)
Top
  Name Description
Public event AvailableChanged Occurs when the value of the Available property changes. (Inherited from ToolStripItem.)
Public event BackColorChanged Occurs when the value of the BackColor property changes. (Inherited from ToolStripItem.)
Public event Click Occurs when the ToolStripItem is clicked. (Inherited from ToolStripItem.)
Public event DisplayStyleChanged Infrastructure. This event is not relevant to this class. (Inherited from ToolStripControlHost.)
Public event Disposed Occurs when the component is disposed by a call to the Dispose method. (Inherited from Component.)
Public event DoubleClick Occurs when the item is double-clicked with the mouse. (Inherited from ToolStripItem.)
Public event DragDrop Occurs 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 event DragEnter Occurs when the user drags an item into the client area of this item. (Inherited from ToolStripItem.)
Public event DragLeave Occurs when the user drags an item and the mouse pointer is no longer over the client area of this item. (Inherited from ToolStripItem.)
Public event DragOver Occurs when the user drags an item over the client area of this item. (Inherited from ToolStripItem.)
Public event EnabledChanged Occurs when the Enabled property value has changed. (Inherited from ToolStripItem.)
Public event Enter Occurs when the hosted control is entered. (Inherited from ToolStripControlHost.)
Public event ForeColorChanged Occurs when the ForeColor property value changes. (Inherited from ToolStripItem.)
Public event GiveFeedback Occurs during a drag operation. (Inherited from ToolStripItem.)
Public event GotFocus Occurs when the hosted control receives focus. (Inherited from ToolStripControlHost.)
Public event KeyDown Infrastructure. This event is not relevant for this class.
Public event KeyPress Infrastructure. This event is not relevant for this class.
Public event KeyUp Infrastructure. This event is not relevant for this class.
Public event Leave Occurs when the input focus leaves the hosted control. (Inherited from ToolStripControlHost.)
Public event LocationChanged Infrastructure. This event is not relevant for this class.
Public event LostFocus Occurs when the hosted control loses focus. (Inherited from ToolStripControlHost.)
Public event MouseDown Occurs when the mouse pointer is over the item and a mouse button is pressed. (Inherited from ToolStripItem.)
Public event MouseEnter Occurs when the mouse pointer enters the item. (Inherited from ToolStripItem.)
Public event MouseHover Occurs when the mouse pointer hovers over the item. (Inherited from ToolStripItem.)
Public event MouseLeave Occurs when the mouse pointer leaves the item. (Inherited from ToolStripItem.)
Public event MouseMove Occurs when the mouse pointer is moved over the item. (Inherited from ToolStripItem.)
Public event MouseUp Occurs when the mouse pointer is over the item and a mouse button is released. (Inherited from ToolStripItem.)
Public event OwnerChanged Infrastructure. This event is not relevant for this class.
Public event Paint Occurs when the item is redrawn. (Inherited from ToolStripItem.)
Public event QueryAccessibilityHelp Occurs when an accessibility client application invokes help for the ToolStripItem. (Inherited from ToolStripItem.)
Public event QueryContinueDrag Occurs 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 event RightToLeftChanged Occurs when the RightToLeft property value changes. (Inherited from ToolStripItem.)
Public event RightToLeftLayoutChanged Occurs when the value of the RightToLeftLayout property changes.
Public event TextChanged Infrastructure. This event is not relevant for this class.
Public event Validated Infrastructure. This event is not relevant to this class.
Public event Validating Infrastructure. This event is not relevant to this class.
Public event VisibleChanged Occurs when the value of the Visible property changes. (Inherited from ToolStripItem.)
Top
  Name Description
Explicit interface implemetation Private method IDropTarget.OnDragDrop Raises the DragDrop event. (Inherited from ToolStripItem.)
Explicit interface implemetation Private method IDropTarget.OnDragEnter Raises the DragEnter event. (Inherited from ToolStripItem.)
Explicit interface implemetation Private method IDropTarget.OnDragLeave Raises the DragLeave event. (Inherited from ToolStripItem.)
Explicit interface implemetation Private method IDropTarget.OnDragOver Raises 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.

Note Note

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, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ