1

我正准备开始撕掉我剩下的头发。

我正在 windows 7 下开发一个 winforms 应用程序(.NET 3.5)。在这个应用程序中是一个自定义日期选择器控件,它使用 MonthCalendar 进行实际日期选择。除了底部显示的“今天”日期外,它运行良好并且看起来很棒。它旁边有标签“今天”。如果您的听众是以英语为母语的人,这很好。我的是丹麦语。

当文化设置为丹麦语时,“今天”标签保持不变,而星期和月份名称以及日期格式遵循相关的窗口设置。这是一个小问题,但仍然是一个烦人的问题。

有没有其他人看过这个?有谁知道我做错了什么?如果做不到这一点,有人知道解决方法吗?

4

2 回答 2

2

“今天”标签反映了控制面板中操作系统的语言(区域和语言),请参见下图。

您几乎被搞砸了,因为它已被纳入 Windows 窗体库,并且您无法覆盖/隐藏/设置私有字段来解决此问题。这在 .NET 4.0 中是相同的。

一种解决方法是隐藏 MonthCalendar 上的 Today 标签并创建一个 UserControl,其中包含一个 MonthCalendar,它模仿 Today 按钮但以正确的语言显示文本。

于 2011-12-05T15:30:19.663 回答
2

您的丹麦客户将运行丹麦版本的 Windows。其中使用丹麦文本表示“今天”。更改计算机上的文化不会更改本机 Windows 资源的语言,例如 MonthCalendar 使用的语言。

所以这不是一个真正的问题。如果您必须让它看起来是正版的,例如屏幕截图,那么请购买 Windows 终极版的许可证。这允许安装修改这些本地资源的语言包。或使用 MSDN 订阅来访问丹麦语 Windows 版本。

于 2011-12-05T15:32:07.617 回答