如何在Winform应用程序中设置应用程序范围的文化信息

时间:2012-01-21 10:49:56

标签: winforms localization

我尝试在我的一个winform应用程序(VB .net)的开头设置文化信息。代码是:

Public Sub New()
    System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-CA")
    System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("en-CA")
    ' This call is required by the Windows Form Designer.
    InitializeComponent()


    ' Add any initialization after the InitializeComponent() call.

End Sub

但是,后续表单中的日期时间选择器显示“dd-MM-yyyy”类型的日期格式。我怎么设置是对的?我缺少哪些步骤。

1 个答案:

答案 0 :(得分:1)

不幸的是,新线程的默认文化没有应用程序范围的设置。线程的默认区域性由Windows在创建时设置。

另请查看此KB Article,这是旧的,但我相信仍然适用。 DatePicker使用Windows区域设置而不是currentCulture。

您可以直接更改DatePicker的设置,使其按您的意愿显示。

类似的东西:

DatePicker1.Format = DateTimePickerFormat.Custom
DatePicker1.CustomFormat = "MM-dd-yyyy" 

我想如果我有很多这样的话,我可以让我自己的类从DatePicker继承并在构造函数中设置它。