Controls


Supported with:
  • Engine
Library dependencies: 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.

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.

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.

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.

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.

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.

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.

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. 

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.