ADN Open CIS
Сообщество программистов Autodesk в СНГ

28/02/2017

Мониторинг изменения рабочего пространства

Если вам нужно отслеживать переключения рабочего пространства (например, в случае если вы используете  Ribbon Runtime API для добавления элементов управления в Ленту), то вам достаточно отслеживать изменение системной переменной WSCURRENT

Код - C#: [Выделить]
  1. using System;
  2.  
  3. using Autodesk.AutoCAD.Runtime;
  4. using acApp = Autodesk.AutoCAD.ApplicationServices.Application;
  5. using Autodesk.AutoCAD.ApplicationServices;
  6.  
  7. [assembly:CommandClass(typeof(TestProject.Commands))]
  8.  
  9. namespace TestProject
  10. {
  11.   public class Commands
  12.   {
  13.     [CommandMethod("MonitorWorkspaceChange")]
  14.     public void MonitorWorkspaceChange()
  15.     {
  16.       acApp.SystemVariableChanged +=
  17.         new SystemVariableChangedEventHandler(
  18.           acApp_SystemVariableChanged);
  19.     }
  20.  
  21.     void acApp_SystemVariableChanged(
  22.       object sender, SystemVariableChangedEventArgs e)
  23.     {
  24.       if (e.Name == "WSCURRENT")
  25.       {
  26.         string currentWorkspaceName =
  27.           (string)acApp.GetSystemVariable(e.Name);
  28.  
  29.         // Делайте то, что нужно
  30.       }
  31.     }
  32.   }
  33. }

 

Источник: http://adndevblog.typepad.com/autocad/2012/05/monitor-workspace-change.html

 

Автор перевода: Александр Ривилис

Обсуждение: http://adn-cis.org/forum/index.php?topic=7660

Опубликовано 28.02.2017