UserPreferenceChangingEventHandler 代理人
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示處理 UserPreferenceChanging 事件的方法。
public delegate void UserPreferenceChangingEventHandler(System::Object ^ sender, UserPreferenceChangingEventArgs ^ e);
public delegate void UserPreferenceChangingEventHandler(object sender, UserPreferenceChangingEventArgs e);
type UserPreferenceChangingEventHandler = delegate of obj * UserPreferenceChangingEventArgs -> unit
Public Delegate Sub UserPreferenceChangingEventHandler(sender As Object, e As UserPreferenceChangingEventArgs)
參數
- sender
- Object
事件的來源。 當 SystemEvents 類別引發這個事件時,這個物件永遠都是 null
。
範例
下列程式代碼範例示範如何使用 UserPreferenceChangingEventHandler 型別來監視 UserPreferenceChanging 事件。 此程式代碼範例是針對 類別提供的較大範例的 SystemEvents 一部分。
#using <System.dll>
using namespace System;
using namespace Microsoft::Win32;
// This method is called when a user preference changes.
void SystemEvents_UserPreferenceChanging(Object^ sender,
UserPreferenceChangingEventArgs^ e)
{
Console::WriteLine("The user preference is changing. Category={0}",
e->Category);
}
// This method is called when the palette changes.
void SystemEvents_PaletteChanged(Object^ sender, EventArgs^ e)
{
Console::WriteLine("The palette changed.");
}
// This method is called when the display settings change.
void SystemEvents_DisplaySettingsChanged(Object^ sender,
EventArgs^ e)
{
Console::WriteLine("The display settings changed.");
}
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();
}
// This code produces the following output.
//
// This app is waiting for system events.
// Press <Enter> to terminate this application.
// Display Settings changed.
// User preference is changing. Category=General
using System;
using Microsoft.Win32;
public sealed class App
{
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();
}
// This method is called when a user preference changes.
static void SystemEvents_UserPreferenceChanging(object sender, UserPreferenceChangingEventArgs e)
{
Console.WriteLine("The user preference is changing. Category={0}", e.Category);
}
// This method is called when the palette changes.
static void SystemEvents_PaletteChanged(object sender, EventArgs e)
{
Console.WriteLine("The palette changed.");
}
// This method is called when the display settings change.
static void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
{
Console.WriteLine("The display settings changed.");
}
}
// This code produces the following output.
//
// This app is waiting for system events.
// Press <Enter> to terminate this application.
// Display Settings changed.
// User preference is changing. Category=General
Imports Microsoft.Win32
Imports System.Windows.Forms
Friend Class Form1
Inherits System.Windows.Forms.Form
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'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
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If (components IsNot Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
Private components As System.ComponentModel.IContainer
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.SuspendLayout()
'
'Form1
'
Me.ClientSize = New System.Drawing.Size(648, 398)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
End Sub
' This method is called when a user preference changes.
Private Sub SystemEvents_UserPreferenceChanging( _
ByVal sender As Object, _
ByVal e As UserPreferenceChangingEventArgs)
MessageBox.Show("UserPreferenceChanging: " & _
e.Category.ToString())
End Sub
' This method is called when the palette changes.
Private Sub SystemEvents_PaletteChanged( _
ByVal sender As Object, _
ByVal e As EventArgs)
MessageBox.Show("PaletteChanged")
End Sub
' This method is called when the display settings change.
Private Sub SystemEvents_DisplaySettingsChanged( _
ByVal sender As Object, _
ByVal e As EventArgs)
MessageBox.Show("The display settings changed.")
End Sub
End Class
備註
建立 UserPreferenceChangingEventHandler 委派時,必須識別處理事件的方法。 若要將事件與您的事件處理方法產生關聯,請將委派的實例新增至 事件。 除非移除委派,否則每當事件發生時,都會呼叫事件處理方法。 如需事件處理程式委派的詳細資訊,請參閱 處理和引發事件。
擴充方法
GetMethodInfo(Delegate) |
取得表示特定委派所代表之方法的物件。 |