Assembly change events.
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. } } }