我正在研究c#winforms。 我在Windows窗体上采用了MonthPicker控件。 无论在用户桌面计算机上设置何种文化,我都希望显示泰国日历。
当用户的机器文化设置为英语时,它会显示英文日历。 当用户的机器文化设置为泰语时,它显示泰国日历。我希望泰国日历。
我在 InitializeComponent()之前尝试使用下面的代码行,但未获得所需的输出。 我正在做的是否有任何错误或有没有其他方法可以实现相同的目标?
system.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("th-TH");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("th-TH");
答案 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等)日历控件也可能产生一些东西。