Поделиться через


SystemEvents.PaletteChanged Событие

Определение

Происходит, когда пользователь переходит к приложению, которое использует другую палитру.

public:
 static event EventHandler ^ PaletteChanged;
public static event EventHandler PaletteChanged;
public static event EventHandler? PaletteChanged;
member this.PaletteChanged : EventHandler 
Public Shared Custom Event PaletteChanged As EventHandler 

Тип события

Исключения

В текущем контексте уведомления о системных событиях не поддерживаются. Например, серверные процессы могут не поддерживать уведомлений о глобальных системных событиях.

Попытка создания потока окна системных событий завершилась неудачей.

Примеры

В следующем примере кода показано, как отслеживать PaletteChanged событие. Этот пример входит в состав более крупного примера использования класса SystemEvents.

int main()
{
    // Set the SystemEvents class to receive event notification
    // when a user preference changes, the palette changes, or
    // when display settings change.
    SystemEvents::UserPreferenceChanging += gcnew
        UserPreferenceChangingEventHandler(
        SystemEvents_UserPreferenceChanging);
    SystemEvents::PaletteChanged += gcnew
        EventHandler(SystemEvents_PaletteChanged);
    SystemEvents::DisplaySettingsChanged += gcnew
        EventHandler(SystemEvents_DisplaySettingsChanged);

    // For demonstration purposes, this application sits idle
    // waiting for events.
    Console::WriteLine("This application is waiting for system events.");
    Console::WriteLine("Press <Enter> to terminate this application.");
    Console::ReadLine();
}
static void Main() 
{         
    // Set the SystemEvents class to receive event notification when a user 
    // preference changes, the palette changes, or when display settings change.
    SystemEvents.UserPreferenceChanging += new 
        UserPreferenceChangingEventHandler(SystemEvents_UserPreferenceChanging);
    SystemEvents.PaletteChanged += new 
        EventHandler(SystemEvents_PaletteChanged);
    SystemEvents.DisplaySettingsChanged += new 
        EventHandler(SystemEvents_DisplaySettingsChanged);        

    // For demonstration purposes, this application sits idle waiting for events.
    Console.WriteLine("This application is waiting for system events.");
    Console.WriteLine("Press <Enter> to terminate this application.");
    Console.ReadLine();
}
'Set the SystemEvents class to receive event notification 
'when a user preference changes, the palette changes, or 
'when display settings change.
AddHandler SystemEvents.UserPreferenceChanging, _
AddressOf SystemEvents_UserPreferenceChanging

AddHandler SystemEvents.PaletteChanged, _
AddressOf SystemEvents_PaletteChanged

AddHandler SystemEvents.DisplaySettingsChanged, _
AddressOf SystemEvents_DisplaySettingsChanged

Комментарии

Примечание

Это событие возникает только в том случае, если работает конвейер сообщений. В службе Windows, если не используется скрытая форма или конвейер сообщений не запущен вручную, это событие не будет вызываться. Пример кода, демонстрирующий обработку системных событий с помощью скрытой формы в службе Windows, см. в SystemEvents классе .

Внимание!

Так как это статическое событие, необходимо отключить обработчики событий при удалении приложения, иначе произойдет утечка памяти.

Применяется к