Solid Edge Framework Type Library
AssemblyConfigurationChangeEvents Object
Members 
Solid Edge Framework Type Library : AssemblyConfigurationChangeEvents Object
Description
Fires AssemblyConfigurationChange user interface events.
Remarks
This event is fired when an Assembly configuration is changed.
Example
Imports System
Imports System.Runtime.InteropServices
Imports System.Windows.Forms

Namespace Examples
    Partial Public Class Form1
        Inherits Form

        Private _application As SolidEdgeFramework.Application
        Private _assemblyDocument As SolidEdgeAssembly.AssemblyDocument
        Private _assemblyConfigurationChangeEvents As SolidEdgeFramework.ISEAssemblyConfigurationChangeEvents_Event

        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
            ' Connect to a running instance of Solid Edge.
            _application = DirectCast(Marshal.GetActiveObject("SolidEdge.Application"), SolidEdgeFramework.Application)

            _assemblyDocument = CType(_application.ActiveDocument, SolidEdgeAssembly.AssemblyDocument)

            ' Connect to events using delegate event model.
            _assemblyConfigurationChangeEvents = CType(_assemblyDocument.AssemblyConfigurationChangeEvents, SolidEdgeFramework.ISEAssemblyConfigurationChangeEvents_Event)

            ' Attach to specific events.
            AddHandler _assemblyConfigurationChangeEvents.OnAfterAssemblyConfigurationChange, AddressOf _assemblyConfigurationChangeEvents_OnAfterAssemblyConfigurationChange
            AddHandler _assemblyConfigurationChangeEvents.OnBeforeAssemblyConfigurationChange, AddressOf _assemblyConfigurationChangeEvents_OnBeforeAssemblyConfigurationChange
        End Sub

        Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
            If _assemblyConfigurationChangeEvents IsNot Nothing Then
                ' Dettach from specific events.
                RemoveHandler _assemblyConfigurationChangeEvents.OnBeforeAssemblyConfigurationChange, AddressOf _assemblyConfigurationChangeEvents_OnBeforeAssemblyConfigurationChange
                RemoveHandler _assemblyConfigurationChangeEvents.OnAfterAssemblyConfigurationChange, AddressOf _assemblyConfigurationChangeEvents_OnAfterAssemblyConfigurationChange
            End If

            _assemblyDocument = Nothing
            _assemblyConfigurationChangeEvents = Nothing
            _application = Nothing
        End Sub

        Private Sub _assemblyConfigurationChangeEvents_OnBeforeAssemblyConfigurationChange(ByVal theDocument As Object, ByRef varConfigNames As Object, ByVal nConfigNameCount As Integer)
            ' Handle OnBeforeAssemblyConfigurationChange.
        End Sub

        Private Sub _assemblyConfigurationChangeEvents_OnAfterAssemblyConfigurationChange(ByVal theDocument As Object, ByRef varConfigNames As Object, ByVal nConfigNameCount As Integer)
            ' Handle OnAfterAssemblyConfigurationChange.
        End Sub
    End Class
End Namespace
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace Examples
{
    public partial class Form1 : Form
    {
        private SolidEdgeFramework.Application _application;
        private SolidEdgeAssembly.AssemblyDocument _assemblyDocument;
        private SolidEdgeFramework.ISEAssemblyConfigurationChangeEvents_Event _assemblyConfigurationChangeEvents;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Connect to a running instance of Solid Edge.
            _application = (SolidEdgeFramework.Application)Marshal.GetActiveObject("SolidEdge.Application");

            _assemblyDocument = (SolidEdgeAssembly.AssemblyDocument)_application.ActiveDocument;

            // Connect to events using delegate event model.
            _assemblyConfigurationChangeEvents = (SolidEdgeFramework.ISEAssemblyConfigurationChangeEvents_Event)_assemblyDocument.AssemblyConfigurationChangeEvents;

            // Attach to specific events.
            _assemblyConfigurationChangeEvents.OnAfterAssemblyConfigurationChange += _assemblyConfigurationChangeEvents_OnAfterAssemblyConfigurationChange;
            _assemblyConfigurationChangeEvents.OnBeforeAssemblyConfigurationChange += _assemblyConfigurationChangeEvents_OnBeforeAssemblyConfigurationChange;
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (_assemblyConfigurationChangeEvents != null)
            {
                // Dettach from specific events.
                _assemblyConfigurationChangeEvents.OnBeforeAssemblyConfigurationChange -= _assemblyConfigurationChangeEvents_OnBeforeAssemblyConfigurationChange;
                _assemblyConfigurationChangeEvents.OnAfterAssemblyConfigurationChange -= _assemblyConfigurationChangeEvents_OnAfterAssemblyConfigurationChange;
            }

            _assemblyDocument = null;
            _assemblyConfigurationChangeEvents = null;
            _application = null;
        }

        private void _assemblyConfigurationChangeEvents_OnBeforeAssemblyConfigurationChange(object theDocument, ref object varConfigNames, int nConfigNameCount)
        {
            // Handle OnBeforeAssemblyConfigurationChange.
        }

        private void _assemblyConfigurationChangeEvents_OnAfterAssemblyConfigurationChange(object theDocument, ref object varConfigNames, int nConfigNameCount)
        {
            // Handle OnAfterAssemblyConfigurationChange.
        }
    }
}
See Also

AssemblyConfigurationChangeEvents Members