0

私は c#.net3.5 を使用しており、currentculture 設定の小数点区切り文字をコンマからドットに変更したいのですが、同時に、ユーザーが数値アップダウン コントロールで小数点区切り文字としてコンマを使用できるようにしたいと考えています。そこで、以下のように文化設定を変更しようとしました

CultureInfo newUIculture = new CultureInfo("tr-TR");
newUIculture.NumberFormat.CurrencyDecimalSeparator = ",";
newUIculture.NumberFormat.CurrencyGroupSeparator = ".";
newUIculture.NumberFormat.NumberDecimalSeparator = ",";
newUIculture.NumberFormat.NumberGroupSeparator = ".";
newUIculture.NumberFormat.PercentDecimalSeparator = ",";
newUIculture.NumberFormat.PercentGroupSeparator = ".";
//Application.CurrentUICulture = newUIculture;//this line giving error.
Thread.CurrentThread.CurrentUICulture = newUIculture;//this line doesn't work

CultureInfo newCulture = new CultureInfo("tr-TR");
newCulture.NumberFormat.CurrencyDecimalSeparator = ".";
newCulture.NumberFormat.CurrencyGroupSeparator = "";
newCulture.NumberFormat.NumberDecimalSeparator = ".";
newCulture.NumberFormat.NumberGroupSeparator = "";
newCulture.NumberFormat.PercentDecimalSeparator = ".";
newCulture.NumberFormat.PercentGroupSeparator = "";
Application.CurrentCulture = newCulture;//this one work fine

現在のカルチャ設定は正常に機能しますが、パラメーターを割り当てたときに currentUIculture 設定が機能しません。指定したパラメータで両方の設定を構成するにはどうすればよいですか?

4

2 に答える 2

0

を覗いてみるとSystem.Windows.Forms.Application.CurrentCulture、それは単なる薄いラッパーであり、コメントアウトされた行がエラーをスローしている理由を説明するThread.CurrentThread.CurrentCultureようなものはありません。System.Windows.Forms.Application.CurrentUICulture

「動作しない」ということは、「私が望むように小数点記号を変更しない」ことを意味する場合、あなたはすでにあなた自身の質問に答えています:CurrentCultureはそれを制御するものであり、CurrentUICulture. 書き方が違うのには理由があります。

于 2014-04-22T11:18:30.067 に答える