我准备好开始撕掉我的头发留下的一点点了。
我正在使用Windows 7下的winforms应用程序(.NET 3.5)。在此应用程序中是一个自定义日期选择器控件,它使用MonthCalendar进行实际日期选择。除了底部显示的“今天”日期外,它的工作效果很好。它旁边有“今天”标签。如果您的观众是以英语为母语的人,这很好。我的是丹麦人。
当文化设置为丹麦语时,“今日”标签保持不变,而星期和月份名称和日期格式遵循相关的窗口设置。这是一个小问题,但仍然是一个烦人的。
有没有人见过这个?有谁知道我做错了什么?如果做不到,有没有人知道解决方法?
答案 0 :(得分:2)
“今日”标签反映了控制面板(区域和语言)中操作系统的语言,请参见下图。
你几乎搞砸了,因为它被烘焙到Windows窗体库中,你不能覆盖/隐藏/设置私有字段来解决这个问题。这与.NET 4.0中的相同。
解决方法是隐藏MonthCalendar上的Today标签,并在其中创建一个带有MonthCalendar的UserControl,模仿Today按钮,但以正确的语言显示文本。
答案 1 :(得分:2)
您的丹麦客户将运行丹麦语版本的Windows。其中使用丹麦文本为“今天”。更改计算机上的文化不会改变本机Windows资源的语言,例如MonthCalendar使用的语言。
所以这不是一个真正的问题。如果你必须让它看起来真实,例如,对于屏幕截图,那么购买Ultimate版Windows的许可证。这允许安装修改这些本机资源的语言包。或者使用MSDN订阅来访问丹麦语Windows版本。