【问题标题】:EndSave (AutoCAD) is member of what (.net vb)?EndSave(AutoCAD)是什么(.net vb)的成员?
【发布时间】:2018-09-10 10:23:14
【问题描述】:

EndSave (AutoCAD) 是什么 (.net vb) 的成员?

Application.DocumentManager.MdiActiveDocument吗?

我不知道它在哪里,所以我可以添加一个处理程序来注册它的事件。

【问题讨论】:

  • 它不存在,所以您必须添加自己的处理方式。
  • Googled "EndSave AutoCAD"How to handle the EndSave event (.net vb)? 是最早的结果之一。如果您的 StackOverflow 问题包含与您的 AutoDesk 论坛问题一样多的详细信息和描述,这将对潜在的受访者有所帮助,因为标题(如果不是正文)需要阅读几遍才能弄清楚您在此处提出的问题。

标签: .net vb.net autocad addhandler


【解决方案1】:

首先你必须删除导入:

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) 然后检查commandSAVE还是SAVEAS

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

此时,如果您愿意,您可以添加 terminate 事件的句柄,如下所示:

Public Sub Terminate() Implements Autodesk.AutoCAD.Runtime.IExtensionApplication.Terminate
    RemoveHandler Application.DocumentManager.DocumentLockModeChanged, subHandler
End Sub

【讨论】:

  • 谢谢。我已经看过那个页面了。那是针对 DocumentDestroyed 事件。我正在寻找 EndSave 事件。我不知道 EndSave 事件的代表是什么。这是什么?
  • 我找到了答案,但目前我正在吃午饭,给我几分钟;)
  • 嗨@Simo。我已经将它插入到一个类中。现在它说:这个类没有实现接口'IExtensionApplication'这是什么意思?然后不声明 subHandler 和 docChange。
  • 是的,这就是问题所在,但这是最好的选择
  • @RitaAguiar 编辑您的帖子以添加您的解决方案,或添加答案
【解决方案2】:

我致力于使用 CommandEnded 事件而不是 DocumentLockModeChanged。现在它只在保存命令(QSAVe、SAVE、SAVEAS)已经结束时才注册。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    相关资源
    最近更新 更多