我无法获得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"))
我喜欢梅给梅秀
答案 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
来正确显示日期。