2011-01-17 9 views

Respuesta

10

usted puede manejar el caso SystemEvents.UserPreferenceChanged:

void SystemEvents.UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e) 
{ 
    // Regional settings have changed 
    if (e.Category == UserPreferenceCategory.Locale) 
    { 
     ... 
    } 
} 
+0

Gracias. ¿Pero cómo obtener nuevas configuraciones regionales? –

+3

Resuelvo mi problema con el código: CultureInfo.CurrentCulture.ClearCachedData(); –

+0

@ Lu Lu, no sabía sobre ese método ... aprender algo todos los días;) –

1

Si desea traqueotomía cambios de idioma del sistema, entonces usted tiene SystemEvents objeto que contiene UserPreferenceChanged caso puede adjuntar a.

muestra:

Microsoft.Win32.SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged); 

Si desea realizar un seguimiento de los cambios de idioma de entrada (como cambios en el sistema cuando se trate de elegir entre los idiomas), entonces usted puede utilizar: System.Windows.Forms.InputLanguage. CurrentInputLanguage

muestra:

string inputLanguage = System.Windows.Forms.InputLanguage.CurrentInputLanguage.LayoutName; 
Cuestiones relacionadas