EndSave (AutoCAD) является членом какой (.net vb)?
EndSave
(AutoCAD) является членом чего (.net vb)?
Это Application.DocumentManager.MdiActiveDocument
?
Я не знаю, где это, поэтому я могу добавить обработчик для регистрации своего события.
2 ответа
Решение
Я посвятил использовать событие CommandEnded вместо DocumentLockModeChanged
, Теперь он регистрируется только в том случае, если команды сохранения (QSAVe, SAVE, SAVEAS) были завершены.
Во-первых, вы должны заботиться об импорте:
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.EditorInput
Imports System.Windows
1) обрабатывать он DocumentLockModeChanged
событие как это:
Public Sub Initialize() Implements Autodesk.AutoCAD.Runtime.IExtensionApplication.Initialize
Try
subHandler = New DocumentLockModeChangedEventHandler(AddressOf docChange)
AddHandler Application.DocumentManager.DocumentLockModeChanged, subHandler
Catch ex As Exception
Err.Clear()
End Try
End Sub
2) и затем проверьте, если command
СОХРАНИТЬ или СОХРАНИТЬ:
Implements Autodesk.AutoCAD.Runtime.IExtensionApplication
Dim subHandler As [Delegate]
Public Sub docChange(ByVal sender As Object, ByVal e As DocumentLockModeChangedEventArgs)
If e.GlobalCommandName = "QSAVE" Or e.GlobalCommandName = "SAVE" Or e.GlobalCommandName = "SAVEAS" Then
Application.ShowAlertDialog("Save has occurred")
End If
End Sub
На данный момент, если вы хотите, вы можете добавить дескриптор для события завершения, как это:
Public Sub Terminate() Implements Autodesk.AutoCAD.Runtime.IExtensionApplication.Terminate
RemoveHandler Application.DocumentManager.DocumentLockModeChanged, subHandler
End Sub