0

私はDateTimePickerコントロールを得ました。次のコードを使用して、コントロールの形式を設定しました。

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "HH:mm";

1つの問題で機能しました。私のコンピューター文化言語は RTL 言語 (ヘブライ語) であるため、「HH:mm」と書きましたが、コントロールの時間の形式は「mm:HH」のように見えます。それは RTL 文化が原因だったので、解決するために 2 つの方法を試しましたが、どれもうまくいきませんでした。

私は試した:

System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");
System.Threading.Thread.CurrentThread.CurrentCulture = culture;
System.Threading.Thread.CurrentThread.CurrentUICulture = culture;

そして、それはまったく機能しませんでした。

また、次のコードを使用して、RTL 言語かどうかを検出しようとしました。

CultureInfo.TextInfo.IsRightToLeft

次に、フォーマット文字列を「HH:mm」から「mm:HH」(rtl言語の場合)に逆にしますが、別の問題を発見しました-XPでは、RTL言語の場合、正しいフォーマットを記述します..そうですXPかどうかを検出しますが、これは単純な必要性にはコードが多すぎると思います...

もっと簡単な解決策はありますか?

ありがとう!。

4

1 に答える 1

2

Windows 7 および Server 2008 R2 では、RTL 言語の DTP が壊れていました。KB の記事はこちらです。ボールが転がったフォーラムのスレッドはこちらです。あなたの場合はスラムダンクではありませんが、それでも説得力があります。リンク先のホットフィックスを試してください。

于 2011-02-19T22:31:07.823 に答える