Как обработать событие EndSave (AutoCAD .net vb)? - PullRequest
0 голосов
/ 07 сентября 2018

Как обработать событие EndSave (.net vb)?

Я не понимаю этого:

Руководство разработчика AutoCAD

Также я не получаю его, если это DocumentEvent или DocumentCollectionEvent.

Например, как правильно назвать событие? Я не могу найти это. И какое название должна иметь процедура?

Вот мой код для плагина AutoCAD, который уже регистрируется, когда пользователь закрывает AutoCAD. Я хочу, чтобы он также регистрировал EndSave, но я не знаю, как это сделать.

Заранее спасибо.

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Excel = Microsoft.Office.Interop.Excel
Imports System.IO



Public Class Class1


<CommandMethod("AddAppEvent")>
Public Sub AddAppEvent()
AddHandler Application.DocumentManager.DocumentActivated, AddressOf AcadDocument_EndSave
AddHandler Application.SystemVariableChanged, AddressOf appSysVarChanged 'adicionado para o save
End Sub



<CommandMethod("RemoveAppEvent")>
Public Sub RemoveAppEvent()
RemoveHandler Application.SystemVariableChanged, AddressOf appSysVarChanged
End Sub



Public Sub AcadDocument_EndSave(ByVal DocumentCollection As Autodesk.AutoCAD.ApplicationServices. 
DocumentCollectionEventArgs)



Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter("C:\Users\rita.aguiar\Documents\AutoCAD plug-in\Registo de Eventos.txt", True)
file.WriteLine("O documento foi guardado.")
file.Close()

End Sub



Public Sub appSysVarChanged(ByVal senderObj As Object,
ByVal sysVarChEvtArgs As Autodesk.AutoCAD.ApplicationServices.
SystemVariableChangedEventArgs)

Dim oVal As Object = Application.GetSystemVariable(sysVarChEvtArgs.Name)

Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter("C:\Users\rita.aguiar\Documents\AutoCAD plug-in\Registo de Eventos.txt", True)
file.WriteLine("O AutoCAD foi encerrado.")
file.Close()

End Sub



End Class

1 Ответ

0 голосов
/ 11 сентября 2018

Событие EndSave отсутствует. Вместо этого я решил использовать событие EndCommand и зарегистрироваться, когда пользователь завершит выполнение команд SAVE, SAVEAS и QSAVE.

...