我想在另一种文化中查看日历,例如让它显示出来 阿拉伯。我在Main中使用此代码,但日历仍然相同 培养:
CultureInfo sa = new CultureInfo("ar-SA", false);
sa.DateTimeFormat.Calendar = new System.Globalization.HijriCalendar();
// Sets the culture to Arabic (Saudi Arabia)
Thread.CurrentThread.CurrentCulture = sa;
// Sets the UI culture to Arabic (Saudi Arabia)
Thread.CurrentThread.CurrentUICulture = sa;
我在表单上添加DateTimePicker,并期望它显示日期 运行后的阿拉伯语,但DateTimePicker或日历未更改为 那种文化。
答案 0 :(得分:2)
在.NET Framework,Visual Studio 2005或Visual Studio .NET中创建本地化应用程序时,DateTimePicker and MonthCalendar控件不反映应用程序主执行线程的CurrentUICulture属性
答案 1 :(得分:2)
您可以在运行时更改datepicker文化和格式。例如,以下内容将格式更改为en-US:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = Application.CurrentCulture.DateTimeFormat.ShortDatePattern;
另一方面,使用此功能将datepicker的文化和日期格式更改为沙特阿拉伯:
Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SA");
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("ar-SA");
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = Application.CurrentCulture.DateTimeFormat.ShortDatePattern;
答案 2 :(得分:0)
这会更改DateTimePicker的显示格式 - 而不是扩展视图中的日期。
CultureInfo ci = new CultureInfo("ar-SA");
DateTimeFormatInfo info = ci.DateTimeFormat;
dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = info.ShortDatePattern + " " + info.ShortTimePattern;