【问题标题】:C# project level date format?C#项目级日期格式?
【发布时间】:2016-05-13 14:07:57
【问题描述】:

所以我有一个项目,我发送给一个使用美国作为语言环境的朋友。自从他把项目寄回给我后,我无法调和语言环境的差异!

例如,在设计模式下,我查看了一个日期选择器属性,它显示“13/05/2016 14:55”的值,“31/12/9998”的最大值等。它应该是怎样的。

不过,一旦我运行该项目,DateTime.Now 会返回“05/13/2016 14:55”并且DatePicker.Value 也会返回“05/13/2016 14:55”!

我怎样才能让我的项目回到正确的项目语言环境?!?!

【问题讨论】:

  • 这是什么类型的项目?

标签: c# winforms locale date-format


【解决方案1】:

在 .NET 中,区域设置将默认为您计算机的当前区域设置,由操作系统报告。最有可能的是,您的朋友在代码中的某处手动设置了语言环境。设计器自己实例化视图,这就是设计器似乎使用您当前区域设置的原因。您应该搜索源代码以找到设置语言环境的位置。您可以自己覆盖此设置,但我不建议这样做。相反,我会简单地删除它。我认为在大多数情况下最好允许 .NET 提取操作系统区域设置。

搜索对 CurrentCulture CurrentUICultureCultureInfo.DefaultThreadCurrentCulture 的引用,看看是否可以找到更改语言环境的代码。

【讨论】:

  • 我只是想说这样做,做得很好。 Designer 视图仍然执行 .cs 代码来绘制控件 - 文化的变化会导致这个问题。
  • 你知道吗,埋在 Load 方法中,他将 Culture 设置为“en”。这甚至不是一种文化。感谢您为我节省了几个小时!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多