Solid Edge Framework Type Library
AssemblyChangeEvents Object
Members 
Solid Edge Framework Type Library : AssemblyChangeEvents Object
Description
Assembly change events.
Remarks
These events are fired when an assembly feature is renamed, occurrence is renamed or component visible state 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 _assemblyChangeEvents As SolidEdgeFramework.ISEAssemblyChangeEvents_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.
            _assemblyChangeEvents = CType(_assemblyDocument.AssemblyChangeEvents, SolidEdgeFramework.ISEAssemblyChangeEvents_Event)

            ' Attach to specific events.
            AddHandler _assemblyChangeEvents.AfterChange, AddressOf _assemblyChangeEvents_AfterChange
            AddHandler _assemblyChangeEvents.BeforeChange, AddressOf _assemblyChangeEvents_BeforeChange
        End Sub

        Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
            If _assemblyChangeEvents IsNot Nothing Then
                ' Dettach from specific events.
                RemoveHandler _assemblyChangeEvents.BeforeChange, AddressOf _assemblyChangeEvents_BeforeChange
                RemoveHandler _assemblyChangeEvents.AfterChange, AddressOf _assemblyChangeEvents_AfterChange
            End If

            _assemblyDocument = Nothing
            _assemblyChangeEvents = Nothing
            _application = Nothing
        End Sub

        Private Sub _assemblyChangeEvents_BeforeChange(ByVal theDocument As Object, ByVal Object As Object, ByVal Type As SolidEdgeFramework.ObjectType, <ComAliasName("SolidEdgeFramework.seAssemblyChangeEventsConstants")> ByVal ChangeType As SolidEdgeFramework.seAssemblyChangeEventsConstants)
            ' Handle BeforeChange.
        End Sub

        Private Sub _assemblyChangeEvents_AfterChange(ByVal theDocument As Object, ByVal Object As Object, ByVal Type As SolidEdgeFramework.ObjectType, <ComAliasName("SolidEdgeFramework.seAssemblyChangeEventsConstants")> ByVal ChangeType As SolidEdgeFramework.seAssemblyChangeEventsConstants)
            ' Handle AfterChange.
        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.ISEAssemblyChangeEvents_Event _assemblyChangeEvents;

        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.
            _assemblyChangeEvents = (SolidEdgeFramework.ISEAssemblyChangeEvents_Event)_assemblyDocument.AssemblyChangeEvents;

            // Attach to specific events.
            _assemblyChangeEvents.AfterChange += _assemblyChangeEvents_AfterChange;
            _assemblyChangeEvents.BeforeChange += _assemblyChangeEvents_BeforeChange;
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (_assemblyChangeEvents != null)
            {
                // Dettach from specific events.
                _assemblyChangeEvents.BeforeChange -= _assemblyChangeEvents_BeforeChange;
                _assemblyChangeEvents.AfterChange -= _assemblyChangeEvents_AfterChange;
            }

            _assemblyDocument = null;
            _assemblyChangeEvents = null;
            _application = null;
        }

        private void _assemblyChangeEvents_BeforeChange(object theDocument, object Object, SolidEdgeFramework.ObjectType Type, [ComAliasName("SolidEdgeFramework.seAssemblyChangeEventsConstants")] SolidEdgeFramework.seAssemblyChangeEventsConstants ChangeType)
        {
            // Handle BeforeChange.
        }

        private void _assemblyChangeEvents_AfterChange(object theDocument, object Object, SolidEdgeFramework.ObjectType Type, [ComAliasName("SolidEdgeFramework.seAssemblyChangeEventsConstants")] SolidEdgeFramework.seAssemblyChangeEventsConstants ChangeType)
        {
            // Handle AfterChange.
        }
    }
}
See Also

AssemblyChangeEvents Members