私のシステム言語はアラビア語です。ウィンドウフォームにDateTimePicker
コントロールを追加すると、アラビア語の月と日付が表示されます。私はそれを英語として表示したい、これまでのところ私は以下の方法を試したが、うまくいきませんでした。カレンダーコントロールにはアラビア語が表示されます。日付時間ピッカー文化情報inウィンドウフォーム
DTPの値は英語の形式で保存されますが、カレンダーコントロールの表示に問題があります。
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
dtpBTStartDate.Format = DateTimePickerFormat.Custom;
dtpBTStartDate.CustomFormat = Application.CurrentCulture.DateTimeFormat.LongDatePattern;
Program.csにもスレッドのメソッドを追加しようとしましたが、フォームの読み込みにもかかわらず動作しませんでした。お知らせ下さい?
OSのUI言語がアラビア語の場合、アラートUIのすべての「DateTimePicker」コントロールと「MonthCalendar」コントロールは、「SysDateTimePick32」と「SysMonthCal32」のラッパーにすぎないと考えられます。 –
代わりに、オープンソースのFarsiLibraryを使用することもできます。ライブラリはFarsiLibraryと呼ばれますが、そのDateTimePickerおよびMonthViewコントロールはJalali(Shamsi/Persian)、Hijri(Qamari)およびGregorianカレンダーをサポートします。 [codeproject article](http://seesharpsoftware.com.au/farsilibrary-v2.6-now-available/)、[ページのライブラリ](http://seesharpsoftware.com.au/farsilibrary)のリンクです-v2.6-now-available /)と[nuget](https://www.nuget.org/packages/Farsi.Library/)パッケージに含まれています。 –
ありがとうございます。システム言語がアラビア語の場合はカレンダーのUIを変更できないと思いますが、上記のコードを 'dtpBTStartDate.CustomFormat =" MM/dd/yyyy "で使用すると、コントロールで選択した日付を変更できます;月は大丈夫ですが、年はまだヒジュリです。 –