2008-10-28 4 views

ответ

9

Это не представляется возможным изменить культуру. См. Это KB article.

+0

Ссылка на статью KB мертва ... :(Они должны были ее исправить уже сейчас ... это через 8 лет ... – Teysz 2016-11-17 12:56:54

+2

Рабочая ссылка: https://support.microsoft.com/en-us/kb/ 889834 – Teysz 2016-11-17 13:08:06

-1

Для DateTimePicker

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

Установка формата не единственное, что контролируется культурой. Он контролирует множество других вещей, например, будет ли первый день недели воскресеньем или понедельником. – Kibbee 2008-10-28 02:56:49

+1

Формат используется только для отображения текущей даты, но если вы хотите его выбрать, управление datetimepicker будет показывать полную дату на основе региональных настроек. – 2009-06-08 12:34:33

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

Это не изменит региональные настройки Windows, а только текущую культуру пользовательского интерфейса и текущую культуру текущего потока (как предполагают имена свойств). Но элемент управления DateTimePicker относится только к региональным настройкам Windows, поэтому он не делает – 2009-06-08 12:37:00

-1

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

  1. набор обработчик события "ValueChanged"
  2. код

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

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

dateTimePicker.Format = DateTimePickerFormat.Custom; 
dateTimePicker.CustomFormat = Application.CurrentCulture.DateTimeFormat.ShortDatePattern; 
Смежные вопросы