C#を使用してWinFormsアプリケーションを作成しました。カルチャ情報を変更しようとすると、アプリケーションがハングします。
Microsoft.Win32.SystemEvents.UserPreferenceChanged += new
Microsoft.Win32.UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged);
void SystemEvents_UserPreferenceChanged(object sender, Microsoft.Win32.UserPreferenceChangedEventArgs e)
{
if (!PreviousInstance())
{
CultureInfo ObjCulture = new CultureInfo(CultureInfo.InvariantCulture.IetfLanguageTag, false);
Thread.CurrentThread.CurrentCulture = ObjCulture;
Application.CurrentCulture = ObjCulture;
}
}
public void INIT()
{
CultureInfo objCultureInfo = null;
try
{
objCultureInfo = new CultureInfo("en-US", false);
objCultureInfo.NumberFormat.NumberDecimalSeparator = ".";
objCultureInfo.NumberFormat.NegativeSign = "-";
objCultureInfo.NumberFormat.NumberNegativePattern = 1; //1 stands for -100.
Application.CurrentCulture = objCultureInfo;
}
}
言語を変更した後...アプリケーションがハングし、何かを評価しようとすると何もデバッグできませんこのイベントは1回だけ呼び出されます。しかし、小さなアプリケーションで試してみると、言語が変更されるたびに発生します......何もありませんEventviewerにも表示されます。どうすればこの問題を解決できますか?..