public MainForm(AppManager app) : this()
 {
     this._App          = app;
     this._layerManager = app.Map.GetLayerManager();
     this._layerManager.ActiveLayerChanged += new EventHandler(this.LayerManager_ActiveLayerChanged);
     this._Filter                            = new FeatureLayerDisplayFilter(this._App.Map, this.gridView1);
     this._PersistLayout                     = new PersistLayoutInMemory(this._App.Map, this.gridView1);
     this._SelectionSynchronization          = new SelectionSynchronization(this._App.Map, this.gridView1);
     this._PreventFirstRowSelection          = new PreventFirstRowSelection(this.gridView1);
     this._ShowNoDataMessage                 = new ShowMessageWhenDataSourceIsNull(this.gridView1);
     app.SerializationManager.Deserializing += OnDeserializingProject;
     this.RefreshData(this._layerManager.ActiveLayer);
 }
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (this.components != null)
         {
             this.components.Dispose();
         }
         this._layerManager.ActiveLayerChanged   -= new EventHandler(this.LayerManager_ActiveLayerChanged);
         _App.SerializationManager.Deserializing -= OnDeserializingProject;
         this._SelectionSynchronization           = null;
         this._Filter.ShowAllFeatures();
         this._Filter                   = null;
         this._PersistLayout            = null;
         this._PreventFirstRowSelection = null;
         LayerManagerExt.ClearCache();
     }
     base.Dispose(disposing);
 }