SystemEvents.UserPreferenceChanging イベント

定義

ユーザー設定を変更しているときに発生します。

public:
 static event Microsoft::Win32::UserPreferenceChangingEventHandler ^ UserPreferenceChanging;
public static event Microsoft.Win32.UserPreferenceChangingEventHandler UserPreferenceChanging;
public static event Microsoft.Win32.UserPreferenceChangingEventHandler? UserPreferenceChanging;
member this.UserPreferenceChanging : Microsoft.Win32.UserPreferenceChangingEventHandler 
Public Shared Custom Event UserPreferenceChanging As UserPreferenceChangingEventHandler 

イベントの種類

例外

システム イベント通知は、現在のコンテキストではサポートされていません。 たとえば、サーバー プロセスがグローバル システム イベント通知をサポートしていない可能性があります。

システム イベント ウィンドウ スレッドの作成が成功しませんでした。

次のコード例は、イベントを監視する方法を UserPreferenceChanging 示しています。 このコード例は、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 参照してください。

注意事項

これは静的イベントであるため、アプリケーションが破棄されるとイベント ハンドラーをデタッチする必要があります。または、メモリ リークが発生します。

適用対象

こちらもご覧ください