|
29.20 How can I tell if the user has changed some system preference such as the locale or display settings?
|
Use the static events in the SystemEvents class found in the Microsoft.Win32 namespace. There are many events in this class. Here are a couple:
|
SystemEvents.DisplaySettingsChanged += new System.EventHandler(displaySettingsChanged);
|
SystemEvents.UserPreferenceChanged +=
|
new UserPreferenceChangedEventHandler(userPreferencesChanged);
|
private void displaySettingsChanged(object sender, EventArgs e)
|
MessageBox.Show(e.ToString());
|
private void userPreferencesChanged(object sender, UserPreferenceChangedEventArgs e)
|
case UserPreferenceCategory.Locale:
|
MessageBox.Show("Changed locale");
|
MessageBox.Show(e.Category.ToString());
|
|
|
|