This document is archived and information here might be outdated.  Recommended version.

IToolbarControl2.OperationStack Property (ArcObjects .NET 10.8 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > Controls > ESRI ArcGIS Controls > Interfaces > IT > IToolbarControl2 Interface > IToolbarControl2.OperationStack Property
ArcGIS Developer Help

IToolbarControl2.OperationStack Property

The operation stack used for undo and redo functionality. If present commands can use it to store operations.

[Visual Basic .NET]
Public Property OperationStack As IOperationStack
public IOperationStack OperationStack {get; set;}
HRESULT get_OperationStack(
HRESULT putref_OperationStack(

Product Availability

Available with ArcGIS Engine.


The OperationStack used to manage undo and redo functionality. Operations are added to the operation stack by each item's Command, so that the operation can be rolled forward and then rolled back as desired. For example, when a graphic element is moved, the operation can be undone moving the graphic back to its original location.

By default the OperationStack will return Nothing. Typically, a developer creates a ControlsOperationStack and sets it into the ToolbarControl. 'Undo' and 'Redo' commands can be added to the ToolbarControl to step through the OperationStack.

Whether or not a command makes use of an OperationStack depends upon its implementation. For example, a command to nudge the position of a graphic element will create an object implementing IOperation and add it to the OperationStack using IOperationStack::Do.

Note, that commands that change the IActiveView::Extent do not need to implement an IOperation object, as the extent is automatically stored in the IActiveView::ExtentStack.

See Also

IToolbarControl2 Interface