Как отобразить дату и время на другом языке - PullRequest
0 голосов
/ 29 мая 2019

Я не могу получить текст datetimepicker для отображения сокращения месяца на другом языке

Я изменил региональные настройки для моего компьютера на голландский. Это меняет название месяца с мая на 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 голосов
/ 30 мая 2019

В соответствии с документами, свойство Text класса DateTimePicker возвращает текстовое представление свойства Value на основе формата свойства CustomFormat.

Объект DateTime (в данном случае свойство Value) не хранит информацию о культуре, и метод ToString по умолчанию (который вызывается в функции get свойства Text) будет пытаться используйте CurrentCulture приложения. Вам нужно будет найти способ передать объект CultureInfo в функцию get для свойства Text объекта DateTimePicker.

Именно поэтому установка текста с помощью

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

не работает.

Вы можете потенциально наследовать или расширять класс DateTimePicker для создания собственной пользовательской реализации, которая хранит и использует CultureInfo для правильного отображения даты.

...