如何在MonthCalendar控件中显示泰国日历,无论当前文化如何

时间:2014-03-19 04:21:29

标签: c# .net winforms calendar globalization

我正在研究c#winforms。 我在Windows窗体上采用了MonthPicker控件。 无论在用户桌面计算机上设置何种文化,我都希望显示泰国日历。

enter image description here

当用户的机器文化设置为英语时,它会显示英文日历。 当用户的机器文化设置为泰语时,它显示泰国日历。我希望泰国日历

我在 InitializeComponent()之前尝试使用下面的代码行,但未获得所需的输出。 我正在做的是否有任何错误或有没有其他方法可以实现相同的目标?

system.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("th-TH");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("th-TH");

1 个答案:

答案 0 :(得分:2)

虽然在MS Support article regarding VS 2005 and .NET 2.0中提及,但您可能正在处理它所描述的相同问题:

  

出现此问题的原因是DateTimePicker控件和MonthCalendar控件是Microsoft Windows常用控件。因此,操作系统的用户区域设置决定了这些控件的用户界面。

检查此功能的一种方法当然是更改操作系统的用户区域设置&看看你的MonthCalendar是否跟随变化。

我不知道如何解决MonthCalendar控件对操作系统用户区域设置的偏好,但您可能考虑的另一种可能是区域设置感知日历控件

例如,locale-aware calendar control described on CodeProject听起来很有希望。第三方(例如Telerik,Infragistics等)日历控件也可能产生一些东西。