C# Datagridview日期时间格式不使用系统区域设置

C# Datagridview日期时间格式不使用系统区域设置,c#,datagridview,region,C#,Datagridview,Region,我有一个datagridview,它连接到我的主窗体上的bindingsource。bindingsource中的列和数据成员之一是DateTime对象。当datagridview显示此项时,它不使用窗口的默认区域设置来显示日期时间 奇怪的是,我可以访问同一个DateTime对象并将其打印到文本框中,甚至可以将其传递到另一个具有另一个datagridview和绑定源的表单中,它实际上会正确地显示在该表中 那么,为什么我的主窗体上的datagridview在将DateTime对象转换为字符串时不使

我有一个datagridview,它连接到我的主窗体上的bindingsource。bindingsource中的列和数据成员之一是DateTime对象。当datagridview显示此项时,它不使用窗口的默认区域设置来显示日期时间

奇怪的是,我可以访问同一个DateTime对象并将其打印到文本框中,甚至可以将其传递到另一个具有另一个datagridview和绑定源的表单中,它实际上会正确地显示在该表中

那么,为什么我的主窗体上的datagridview在将DateTime对象转换为字符串时不使用区域日期/时间设置呢

我已经检查过datagridview没有应用特殊的格式,所以我没有什么好检查的了

你们知道有没有什么超级秘密的方法让datagridview遵循系统区域格式规则

此外,由于我非常怀疑我在应用程序中使用此datagridview与其他datagridview时是否有所不同,下一个潜在的问题可能是应用程序加载:也许因为在应用程序加载时会出现这种情况,所以它没有获得与其他datagridview相同的cultureUI设置

更新我尝试向datagrid视图添加另一列,并将其连接到相同的数据属性(datetime),得到了相同的结果。因此,关于整个datagridview如何创建或如何创建的一些信息正在阻止“ToString”使用默认的区域设置


有什么帮助吗?

关于设计,在DataGridView的
编辑列
对话框中:

  • 搜索属性
    DefaultCellStyle
    ,然后打开此对话框
  • 搜索属性
    格式
    并选择日期格式
  • 选择您喜欢的格式

  • 如果我这样做,变化肯定会发生,这很好,但这不是我想要的结果。我不想应用任何特定的格式,我希望它采用Window的默认格式。其他的一切都做得很好,但不是这个控制。我知道,这是一个错误或缺乏,如果我可以这么说的话。我曾经在FormLoad上设置DateTime列的
    DefaultCellStyle
    属性。或者,您可以在getter上简单地设置绑定DateTime属性的格式,这样不行吗?对于日期,使用
    d
    ,它将按照区域设置以适当的格式显示。