ユーザーを監視するのRefEditを編集したり、放棄するユーザーを保存することです

[ オリジナル ]

使用1。Autodesk.AutoCAD.ApplicationServices; 
 2使用Autodesk.AutoCAD.DatabaseServices; 
 3使用Autodesk.AutoCAD.EditorInput; 
 4を用いてAutodesk.AutoCAD.Runtime;  5  。6 //この行は必須ではなく、負荷のパフォーマンス向上させることができる 7 [アセンブリ:CommandClass(typeof演算(ユーザ)のRefEdit .XrefLongTransを保存または破棄するようにユーザに編集されている監視)]  。8  。9ネームスペースユーザを監視、保存、またはのRefEdit 10を廃棄することをユーザに編集される。{publicクラス11 XrefLongTrans 12である{列挙13はEditInPlaceXrefState 14 {15 、廃棄します16 。保存された17 };静的EditInPlaceXrefState 19 STATE = 18である。EditInPlaceXrefState.Discarded、20は21である[CommandMethod( "WatchXref"される)]公共ボイド22でありますWatchXref()23 {24文書DOC = Application.DocumentManager.MdiActiveDocument。25(DOC == NULL)戻った場合26エディタED = doc.Editor。27 LongTransactionManager longTranMan = Application.LongTransactionManager。28 longTranMan.CheckedIn + = TrMan_CheckedIn。29 longTranMan.Aborted + = TrMan_Aborted。30 doc.CommandEnded + = Doc_CommandEnded。31 } 32 [CommandMethod( "UnWatchXref" )] 33公共ボイドUnWatchXref()34 {35文書DOC = Application.DocumentManager.MdiActiveDocument。36(DOC == NULL)戻った場合37エディタED = doc.Editor。38 LongTransactionManager longTranMan =Application.LongTransactionManager; 39 longTranMan.CheckedIn - = TrMan_CheckedIn。40 longTranMan.Aborted - = TrMan_Aborted。41 doc.CommandEnded - = Doc_CommandEnded。42 } 43 44プライベートボイドTrMan_Aborted(オブジェクト送信者、LongTransactionEventArgs E)45 {46文書DOC = Application.DocumentManager.MdiActiveDocument。47(DOC == NULL)戻った場合48エディタの編= doc.Editor。49 IF(e.Transaction.Type == LongTransactionType.XRefDb)50 {51 ed.WriteMessage( "\ nLongトランザクション{0}中止する\ n" 、e.Transaction.LongTransactionName)。52状態= EditInPlaceXrefState.Discarded。53 } 54 } 55 56プライベートボイドTrMan_CheckedIn(オブジェクト送信者、LongTransactionEventArgs E)57 {58文書DOC = Application.DocumentManager.MdiActiveDocument。59(DOC == NULL)戻った場合60エディタの編= doc.Editor。61 IF(e.Transaction.Type == LongTransactionType.XRefDb)62 {63 ed.WriteMessage( "\ nLongトランザクション{0}コミットする\ n" 、e.Transaction.LongTransactionName)。64状態= EditInPlaceXrefState.Saved。65 } 66 } 67 68プライベートボイドDoc_CommandEnded(オブジェクト送信者、CommandEventArgs E)69 {70 IF(e.GlobalCommandName.ToUpper()== "REFCLOSE" )71 {72文書DOC = Application.DocumentManager.MdiActiveDocument。73(DOC == NULL)戻った場合74エディタの編=doc.Editor; 75 ed.WriteMessage( "XREFの\ nModification {0} \ n"は、(状態== EditInPlaceXrefState.Saved) "保存": "廃棄" )。76 } 77 } 78 } 79}

おすすめ

転載: www.cnblogs.com/smallstoneman/p/11209144.html