MLamoreaux

Prerender all MapControls on Application Load

Discussion created by MLamoreaux on Apr 3, 2010
I'm working on a standalone ArcGIS Engine application using C# in VS2005.  My application has a TabControl with 3 pages.  The first page is filled with edit controls and the second and third tabs each have a different MapControl.  Using the main form's OnLoad event, I can load an mxd project into each of the two MapControls.  However, these maps are not rendered until the first time the user opens that particular tab page.  The effect this has is that the user is editing data, switches to the second page, and then the screen freezes part way through drawing the controls on this tab for several seconds while the MapControl loads and displays the map for the first time.  The same thing happens again when they navigate to the third tab.  After that, they can switch between all tabs very quickly as expected.

I would rather have the users be presented with a splash screen and progress bar while the application loads and initializes/pre-renders both maps, or even just an hourglass while the main form loads, so that the user can quickly navigate between all tabs immediately upon use.  I've tried several approaches so far, but can't seem to get the MapControl to fully render the map until the first time it becomes visible.  Does anyone have ideas on how this can be accomplished?

Thank you,
Mark

Outcomes