如何以其他语言显示datetimepicker

时间:2019-05-29 14:01:00

标签: vb.net datetimepicker cultureinfo

我无法获得datetimepicker文本来用另一种语言显示月份的缩写

我将PC的区域设置更改为荷兰语。那样将月份名称从5月更改为mei,但是我不想这样做。

在启动应用程序上:

CultureInfo.CurrentCulture = New CultureInfo("en-US", False)


ElseIf TypeOf a Is DateTimePicker Then
        If TableDataString(index) IsNot Nothing And TableDataString(index) <> "" Then
            Dim dt As Date = TableDataString(index).ToString
            TryCast(a, DateTimePicker).Format = DateTimePickerFormat.Custom
            TryCast(a, DateTimePicker).CustomFormat = "dd-MMM-yyyy"
            TryCast(a, DateTimePicker).Text = dt
        Else
            Dim dt As Date
            TryCast(a, DateTimePicker).Format = DateTimePickerFormat.Custom
            TryCast(a, DateTimePicker).CustomFormat = "  -  -  "
            TryCast(a, DateTimePicker).Text = dt
        End If

要更改文本框中的日期,我可以执行以下操作:

textbox.Text = result.ToString("dd-MMM-yyyy", New Globalization.CultureInfo("nl"))

这不起作用

TryCast(a, DateTimePicker).Text = dt.ToString("dd-MMM-yyyy", New Globalization.CultureInfo("nl"))

datum datum2 我喜欢梅给梅秀

1 个答案:

答案 0 :(得分:0)

As per the docs, DateTimePicker类的Text属性基于Value属性的格式返回CustomFormat属性的文本表示。

DateTime对象(在本例中为Value属性)不存储区域性信息,而默认的ToString方法(在{{的get函数中调用) 1}}属性)将尝试使用应用程序的Text。您将需要找到一种方法,将CurrentCulture对象传递到CultureInfo对象的Text属性的get函数中。

这就是设置文本的原因

DateTimePicker

不起作用。

您可能从TryCast(a, DateTimePicker).Text = dt.ToString("dd-MMM-yyyy", New Globalization.CultureInfo("nl")) 类继承或扩展来创建自己的自定义实现,该实现存储并使用DateTimePicker来正确显示日期。