监控命令及事件
示例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; namespace Demo1 { public class Class1 { [CommandMethod("AddAppEvent")] public void AddAppEvent() { Document acDoc = Application.DocumentManager.MdiActiveDocument; Application.SystemVariableChanged + = new Autodesk.AutoCAD.ApplicationServices.SystemVariableChangedEventHandler(appSysVarChanged); Application.BeginDoubleClick + = new BeginDoubleClickEventHandler(beginDoubleClick); acDoc.CommandWillStart + = new CommandEventHandler(currentDoc_CommandWillStart); acDoc.CommandCancelled + = new CommandEventHandler(currentDoc_CommandWillStart); acDoc.CommandEnded + = new CommandEventHandler(currentDoc_CommandWillStart); acDoc.CommandFailed + = new CommandEventHandler(currentDoc_CommandWillStart); } [CommandMethod("RemoveAppEvent")] public void RemoveAppEvent() { Application.SystemVariableChanged - = new Autodesk.AutoCAD.ApplicationServices.SystemVariableChangedEventHandler(appSysVarChanged); Application.BeginDoubleClick - = new BeginDoubleClickEventHandler(beginDoubleClick); } public void appSysVarChanged(object senderObj, Autodesk.AutoCAD.ApplicationServices.SystemVariableChangedEventArgs sysVarChEvtArgs) { object oVal = Application.GetSystemVariable(sysVarChEvtArgs.Name); Application.ShowAlertDialog(sysVarChEvtArgs.Name + " was changed." + "\nNew value: " + oVal.ToString()); } static void beginDoubleClick(object sender, BeginDoubleClickEventArgs e) { Document acDoc = Application.DocumentManager.MdiActiveDocument; string strDWGName = acDoc.Name; Application.ShowAlertDialog(strDWGName); } void currentDoc_CommandWillStart(object sender, CommandEventArgs e) { Document acDoc = Application.DocumentManager.MdiActiveDocument; string strDWGName = acDoc.Name; Application.ShowAlertDialog(strDWGName); } } }
|
其他事件
http://help.autodesk.com/view/OARX/2019/CHS/?guid=GUID-F432E285-8B94-4ACD-A186-89E1218DEC07
http://help.autodesk.com/view/OARX/2019/CHS/
本文早期发布于个人 CSDN 博客:查看原文