Как отследить смену темы оформления в NC23? Ну хотя бы со светлой на темную.

Хотя тем оформления в нанике, конечно, напихали до дури. Но хотя б со светлой на темную переключение (и обратно) отследить...

Системной переменной как в ACAD на эту тему в нанике не существует, к сожалению. И вряд ли будет существовать. Тем не менее подписаться на событие изменения темы можно:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class ChangeThemeCmd
{
    [CommandMethod("theme-subscribe")]
    [Description("Подписка на событие смены темы оформления")]
    public static void ThemeChangeSubscribeCommand()
    {
        VisualManager.ThemeChangedEvent += OnThemeChangedEvent;
    }

    [CommandMethod("theme-unsubscrube")]
    [Description("Отписка от события смены тем оформления")]
    public static void ThemeChangeUnsubscribeCommand()
    {
        VisualManager.ThemeChangedEvent -= OnThemeChangedEvent;
    }

    private static void OnThemeChangedEvent()
    {
        bool dark = VisualManager.isThemeDark;
        MessageBox.Show("Тема сменена на " + (dark ? "темную" : "светлую"));
    }
}

Пока не забылось ;)

Размещено в .NET, nanoCAD · Метки: , , ,



Поделитесь своим мнением


Я не робот.