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


Controls (ArcObjects .NET 10.5 SDK)

Controls


Supported with:
  • Engine
Library dependencies: Version, System, SystemUI, Geometry, GraphicsCore, Display, Server, Output, Geodatabase, GISClient, DataSourcesFile, DataSourcesGDB, DataSourcesOleDB, DataSourcesRaster, DataSourcesNetCDF, GeoDatabaseDistributed, GeoDatabaseExtensions, Carto, NetworkAnalysis, Location, GeoAnalyst, Animation, Maplex, Geoprocessing, NetworkAnalyst, Schematic, SpatialAnalyst, 3DAnalyst, GlobeCore, EngineCore

Additional library information: Contents, Object Model Diagram

The Controls library contains the ArcGIS Engine controls, which are high-level developer components that enable you to build and extend Windows applications with ArcGIS functionality and that provide a graphical user interface (GUI). The Controls library also contains the control commands, which are a set of commands, tools, menus, and palettes that work with the ArcGIS Engine controls.
In addition to the ArcGIS Engine controls contained in this library, the ArcReaderControl and ArcReaderGlobeControl objects exist in the PublisherControls library.

See the following sections for more information about this namespace:

Common themes and concepts

There are common themes and concepts among the ArcGIS Engine controls that help to effectively build applications using the controls. These include the following:
  • Embeddable components
  • Property pages 
  • Encapsulated ArcObjects 
  • Events 
  • Buddy controls
  • Map authoring
Details on each of these can be found in sections of the same names in Using the Winforms ArcGIS Engine controls.

LicenseControl

LicenseControl is used to initialize an application with a suitable license so it can run successfully on any machine to which it is deployed. LicenseControl configures the license at application start time when the form or dialog box containing the LicenseControl is loaded. Use LicenseControl to automatically perform license initialization within simple GUI applications using one of the following objects:
If greater control is required over license initialization, particularly when checking out and in extension licenses (the LicenseControl checks out extension licenses for the duration of an application's life), use the AoInitialize object in the System library to programmatically perform license initialization.

For further information see:

Using the LicenseControl
How to programmatically handle LicenseControl initialization failure
Walkthrough: Building a map viewing application using the ArcGIS Engine controls

MapControl

MapControl corresponds to the data view of the ArcMap desktop application and encapsulates the Map object. Map documents pre-authored with the ArcMap application can be loaded into the MapControl, eliminating the need to programmatically compose the cartography. The MapControl object can also be used to write map documents.

For further information see:

Using the MapControl
How to get started with the MapControl property pages
How to enable arrow key and mouse wheel navigation of the map display
Sample: View CAD data in a MapControl
Sample: Draw text on a MapControl
How to drop data onto the MapControl
Sample: Geoevents in a MapControl
Sample: Displaying MapTips in the MapControl
How to rotate the MapControl display
Sample: Save a layer file in a MapControl application
How to synchronize the MapControl and PageLayoutControl

PageLayoutControl

PageLayoutControl corresponds to the layout view of the ArcMap desktop application and encapsulates the PageLayout object. Map documents authored with the ArcMap application can be loaded into the PageLayoutControl, eliminating the need to programmatically compose the cartography. PageLayoutControl also has methods that assist with printing.

For further information see:

Using the PageLayoutControl
How to get started with the PageLayoutControl property pages
Sample: Copy the PageLayoutControl focus map and overwrite the MapControl map
Sample: Load a map document into the PageLayoutControl
Sample: Use a PageLayoutControl as an overview window
Sample: Modify the appearance of the PageLayoutControl's page
Sample: Print preview using the PageLayoutControl
Sample: Printing with the PageLayoutControl
How to save PageLayoutControl contents to a map document

GlobeControl

GlobeControl corresponds to the 3D View of the ArcGlobe desktop application and provides a three-dimensional (3D) view of data on a globe surface in true geodetic location. GlobeControl handles large datasets by using an efficient caching scheme.
GlobeControl requires the 3D Analyst extension.

For further information see:

Using the GlobeControl
How to get started with the GlobeControl property pages
Sample: Effects in the GlobeControl
Sample: Navigating around the GlobeControl
Sample: Animation in the GlobeControl

SceneControl

SceneControl corresponds to the 3D View of the ArcScene desktop application and provides a way to view and investigate small spatial data layers in 3D.
SceneControl requires the 3D Analyst extension.

For further information see:

Using the SceneControl
How to get started with the SceneControl property pages
Sample: Navigating around the SceneControl
Sample: Custom scene navigation commands

SymbologyControl

SymbologyControl is used to display the contents of server style files (*.ServerStyle) and custom symbology. The SymbologyControl object enables you to select an individual symbol that can be applied to part of an application, such as a layer's renderer or an element's symbol.

For further information see:

Using the SymbologyControl
Sample: Add map surrounds using the SymbologyControl
Sample: Update a legend format with SymbologyControl area and line patches
Sample: Retrieve a color ramp from the SymbologyControl
Sample: Update a frame's background, border, and shadow using the SymbologyControl
Sample: Change layer rendering using the SymbologyControl
Sample: Control text symbols using the SymbologyControl

TOCControl

TOCControl (table of contents control) works in conjunction with a buddy control, displaying the maps, layers, and symbology that are contained in the buddy control. The buddy control can be a MapControl, PageLayoutControl, GlobeControl, or SceneControl. The buddy control can be set at design time though the TOCControl property pages (in development environments that support property page capability) or programmatically using the SetBuddyControl method when the container hosting the TOCControl is displayed.

For further information see:

Using the TOCControl
Sample: Displaying a TOCControl context menu
Sample: Enable layer drag and drop in the TOCControl
Disabling or validating label edits in the TOCControl
Sample: TOCControl metadata viewer

ToolbarControl

ToolbarControl works in conjunction with a buddy control. The buddy control can be a MapControl, PageLayoutControl, GlobeControl, or SceneControl. The buddy control can be set at design time though the ToolbarControl property pages (in development environments that support property page capability) or programmatically using the SetBuddyControl method when the container hosting the ToolbarControl is displayed.
The ToolbarControl hosts a panel of commands, tools, tool controls, menus, and palettes that work with the buddy control display. For example, a Zoom In tool hosted on a ToolbarControl buddied to a MapControl allows you to zoom in on the MapControl display. 

For further information see:

Using the ToolbarControl
Sample: Change the appearance of the ToolbarControl
How to use an application as the ToolbarControl buddy
Sample: Allow run time customization of the ToolbarControl
How to save ToolbarControl items to a settings file
Sample: ToolbarControl MDI application
Enabling menu tracking on the ToolbarControl
Sample: Add a custom bookmarks MultiItem to the ToolbarControl
Sample: Share a command pool between ToolbarControls
How to display MapControl and ToolbarControl information on a status bar
Sample: Creating toolbar menus that work with the ToolbarControl
How to create a toolbar palette that works with the ToolbarControl
Sample: Creating a zoom factor extension that works with a ToolbarControl
How to create a command or tool to work with the controls

Control commands

The control commands are commands, tools, tool controls, toolsets, menus, and palettes that work with the ArcGIS Engine controls to perform specific actions. For example, there is a suite of map navigation, map inquiry, feature selection, graphic element, feature editing, and ink commands that work with the MapControl and PageLayoutControl; a suite of globe commands that work with the GlobeControl; a suite of scene commands that work with the SceneControl; and a suite of network and schematics commands that work with the Network Analyst and Schematics extensions respectively. You can extend this suite of control commands by creating your own customized commands that perform a specific piece of work.
The control commands are typically used in conjunction with the ToolbarControl framework and can be hosted on a ToolbarControl, ToolbarMenu, or ToolbarPalette.
For a full list of the control commands, including a description of each, its associated globally unique identifier (GUID), the ArcGIS Engine controls with which the command works, and any extension required, see ArcGIS Engine commands.

For further information see:

Using the control commands
How to provide context-sensitive help for a custom command
Sample: Committing ink sketches using the controls ink commands
Sample: Controls commands environment
Sample: Configure a command for a specific locale
Sample: Custom map navigation commands
Sample: Custom map selection commands
Sample: Custom scene navigation commands
Sample: Feature editing with the control commands
Sample: Using HookActions in custom commands
Sample: Graphics layers ToolControl
How to create a command or tool to work with the controls
Using the swipe and transparency commands
Using the flicker commands
Using the roam command