Freigeben über


SystemEvents.PaletteChanged Ereignis

Definition

Tritt ein, wenn ein Benutzer zu einer Anwendung wechselt, die eine andere Palette verwendet.

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 

Ereignistyp

Ausnahmen

Systemereignisbenachrichtigungen werden unter dem aktuellen Kontext nicht unterstützt. Beispielsweise unterstützen Serverprozesse möglicherweise keine globalen Systemereignisbenachrichtigungen.

Beim Versuch, einen Thread für das Systemereignisfenster zu erstellen, ist ein Fehler aufgetreten.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie das PaletteChanged Ereignis überwacht wird. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die SystemEvents-Klasse bereitgestellt wird.

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

Hinweise

Hinweis

Dieses Ereignis wird nur ausgelöst, wenn die Nachrichtenpumpe ausgeführt wird. In einem Windows-Dienst wird dieses Ereignis nicht ausgelöst, es sei denn, es wird ein ausgeblendetes Formular verwendet oder die Nachrichtenpumpe manuell gestartet. Ein Codebeispiel, das zeigt, wie Systemereignisse mithilfe eines ausgeblendeten Formulars in einem Windows-Dienst behandelt werden, finden Sie in der SystemEvents -Klasse.

Achtung

Da dies ein statisches Ereignis ist, müssen Sie Ihre Ereignishandler trennen, wenn Ihre Anwendung verworfen wird, da sonst Speicherverluste auftreten.

Gilt für: