ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Framework.Contracts Namespace / Module Class / Initialize Method
Example

In This Topic
    Initialize Method (Module)
    In This Topic
    When overridden in a derived class, gives the custom Module a chance to initialize itself and return its status to the calling Framework.
    Syntax
    Protected Friend Overridable Function Initialize() As Boolean
    protected internal virtual bool Initialize()
    Remarks

    A custom Module has two opportunities to initialize itself: its class constructor and its Initialize method. The Framework calls both functions whenever a Module is loaded. Modules load either explicitly with FrameworkApplication.FindModule or implicitly whenever any of their DAML elements (Panes, DockPanes, Controls, etc) are loaded. For example, when a DockPane or a Button on a Ribbon Tab is created, their parent module will automatically load if it hasn't already done so.

    The Initialize method has the added benefit of returning whether the initialization was successful or not. If initialization fails, the Framework immediately calls Uninitialize.

    Example
    How to determine when a project is opened
    {
      // override the Initialize and Uninitialize methods of your add-in's module to subscribe and unsubscribe to the ProjectOpenedEvent
    
      ProjectOpenedEvent.Subscribe(OnProjectOpened); //subscribe to Project opened event
    
      ProjectOpenedEvent.Unsubscribe(OnProjectOpened); //unsubscribe from the event as the module is unloaded
    
      void OnProjectOpened(ProjectEventArgs obj) //Project Opened event handler
      {
        MessageBox.Show($"{Project.Current} has opened"); //show your message box
      }
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also