Как изменить культуру на элемент управления DateTimepicker или календаря в .Net

Как установить интернационализацию в элементе управления DateTimepicker или Calendar WinForm в .Net, когда культура желания отличается от той, которая установлена ​​на ПК?

Ответы

Ответ 1

Кажется, что невозможно изменить культуру. См. Статью KB.

Ответ 2

Основываясь на предыдущем решении, я думаю, что лучше:

dateTimePicker.Format = DateTimePickerFormat.Custom;
dateTimePicker.CustomFormat = Application.CurrentCulture.DateTimeFormat.ShortDatePattern;

Ответ 3

System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("fr");
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture;

Ответ 4

Используйте telerik radDateTimePicker и напишите этот код, после InitializeComponent() и вместо "fa-IR" используйте свою культуру.

Application.CurrentCulture = new CultureInfo("fa-IR"); 
radDateTimePicker1.Format = DateTimePickerFormat.Custom;
radDateTimePicker1.CustomFormat = Application.CurrentCulture.DateTimeFormat.ShortDatePattern;

Ответ 5

Для DateTimePicker

dtp.Format = DateTimePickerFormat.Custom;
dtp.CustomFormat = "yyyy-MM-dd"; // or the format you prefer

Ответ 6

Я думаю, что есть обход.

  • установить обработчик событий "ValueChanged"
  • код

    dateTimePicker.Format = DateTimePickerFormat.Custom;
    string[] formats = dateTimePicker.Value.GetDateTimeFormats(Application.CurrentCulture);
    dateTimePicker.CustomFormat = formats[0];