Frequently asked question

What are the properties and methods that produce a map refresh?

Last Published: April 26, 2020

Answer

The Map control object and the TrackingLayer object both provide "Refresh" methods. Calling one of these methods produces a full refresh of the entire map contents or the TrackingLayer contents. In addition, these are the properties and methods which trigger a full map refresh, unless noted otherwise below.

The following shorthand notation is used for quick reference:

BLD: BeforeLayerDraw event.
ALD: AfterLayerDraw event.
BTLD: BeforeTrackingLayerDraw event.
ATLD: AfterTrackingLayerDraw event.

"Full map refresh" means
1. one set of BLD/ALD per layer and
2. the full redraw of all layers and
3. one set of BTLD/ATLD and
4. a full redraw of the TrackingLayer.

Map methods that Refresh:

CenterAt: one full map refresh.
CopyMap: two full map refreshes.
ExportMap*: one full map refresh.
OutputMap*: one full map refresh.
Pan: one full map refresh, one extra set of BTLD/ATLD. That is, two total refreshes of the TrackingLayer.
PrintMap: one full map refresh.
Refresh: one full map refresh.
RefreshLayer: BLD/ALD for only that layer and all layers above it, as well as one set of BTLD/ATLD, and a refresh of the TrackingLayer.
RefreshRect: one full map refresh, but only inside the argument rectangle.

Map properties that Refresh:

BackColor: one full refresh, only if value changes.
BorderStyle: only one set of BTLD/ATLD and a refresh of the TrackingLayer.
CoordinateSystem: one full map refresh.
Enabled: only if value changes, and then only one set of BTLD/ATLD and a refresh of the TrackingLayer.
Extent: one full map refresh, except when used in Form_Load.
FullExtent: one full map refresh, except when used in Form_Load.
Height: one full map refresh, only if value changes.
Move: one full map refresh, only if height or width arguments change existing values.
RotationAngle: one full map refresh, only if value changes.
ScrollBars: one full map refresh, only if Map's Extent is smaller than FullExtent.
Visible: only if changing from False to True, and then only one set of BTLD/ATLD and the TrackingLayer.
VisibleRegion: only if new region touches an area outside the existing region, in which case only one set of BTLD/ATLD and the TrackingLayer.
Width: one full map refresh, only if value changes.

Layers method that will Refresh:

Add: one full map refresh.
TrackingLayer methods that Refresh:

AddEvent: only one set of BTLD/ATLD and the TrackingLayer.
ClearEvents: only one set of BTLD/ATLD and the TrackingLayer.
Refresh: only one set of BTLD/ATLD and the TrackingLayer, only if the argument is ‘True’.
RemoveEvent: only one set of BTLD/ATLD, and the TrackingLayer.
GeoEvent methods and properties that Refresh:

Move method: one set of BTLD/ATLD and the TrackingLayer, only if the location moved from is in the display extent.
MoveTo method: one set of BTLD/ATLD and the TrackingLayer, only if the location moved to is in the display extent.
Shape property: one set of BTLD/ATLD and the TrackingLayer.
Other situations that call Refresh:

Another window passing in front of the Map control: only if the other window exposes an area of the Map control that was not exposed immediately beforehand. In that case, only one set of BTLD/ATLD runs and the TrackingLayer, once per pixel move of the top window.

Article ID:000005030

Software:
  • Legacy Products

Receive notifications and find solutions for new or common issues

Get summarized answers and video solutions from our new AI chatbot.

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options