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.
}
}
}