Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 窗口窗体中的日期时间选择器区域性信息_C#_Winforms - Fatal编程技术网

C# 窗口窗体中的日期时间选择器区域性信息

C# 窗口窗体中的日期时间选择器区域性信息,c#,winforms,C#,Winforms,我的系统语言是阿拉伯语,如果我在窗口窗体上添加DateTimePicker控件,它将显示阿拉伯语月份和日期。我想显示为英语,到目前为止,我尝试了以下方法,但它不工作。日历控件仍然显示阿拉伯语 DTP中的值保存为英文格式,但问题是日历控件的视图 System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); System.Threading.Thread.CurrentThread.CurrentUI

我的系统语言是阿拉伯语,如果我在窗口窗体上添加
DateTimePicker
控件,它将显示阿拉伯语月份和日期。我想显示为英语,到目前为止,我尝试了以下方法,但它不工作。日历控件仍然显示阿拉伯语

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和表单加载中添加thread方法,但仍然不起作用。请告知

回答:如果操作系统用户界面语言是阿拉伯语,我相信所有
DateTimePicker
MonthCalendar
控件都将显示为阿拉伯语用户界面,因为这些控件只是
SysDateTimePick32
SysMonthCal32
的包装


注意:您也可以使用第三方库。免费的开源FarsiLibrary是一种选择。虽然该库被称为FarsiLibrary,但其DateTimePicker和MonthView控件支持Jalali(Shamsi/Persian)、Hijri(Qamari)和Gregorian日历。以下是作者网站和中的链接。

如果操作系统用户界面语言为阿拉伯语,我相信所有
DateTimePicker
MonthCalendar
控件都将显示为阿拉伯语用户界面,因为这些控件只是
SysDateTimePick32
SysMonthCal32
的包装器。您也可以使用开源FarsilLibrary。虽然该库被称为FarsiLibrary,但其
DateTimePicker
MonthView
控件支持Jalali(Shamsi/Persian)、Hijri(Qamari)和Gregorian日历。这是作者网站和软件包中的链接。谢谢您检查。如果系统语言为阿拉伯语,我想我们无法更改日历的用户界面,但如果我使用上述代码并使用
dtpBTStartDate.CustomFormat=“MM/dd/yyyy”,则我们可以在控制中选择日期它将给出日期和月份,但年份仍然是Hijri。我们必须使用Telerik控件来解决此问题,它们支持datetimepicker的区域性属性。对于默认datetimepicker win表单控件,即使我使用thread方法,它也不起作用。如果我添加自定义格式,它仍将显示阿拉伯日历,并且仅将值转换为自定义格式。使用
CultureInfo.InvariantCulture
保存数据很容易。但这个问题与控件的UI有关。是的,还有一件事,@RezaAghaei提到的波斯语库是免费的,如果有人没有Telerik许可证,也可以使用。我不希望更改控件的UI,让用户决定使用其操作系统的UI。UI只是一个选择日期和时间的界面。那么所选日期就是日期时间。如果需要,可以使用所选日期计算不同区域性中的日期。