Fires AssemblyConfigurationChange user interface 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 _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. } } }