Изменить время выполнения календаря DateTimePicker - PullRequest
2 голосов
/ 15 ноября 2011

Я хочу просмотреть календарь в другой культуре, например, чтобы он отображался в Арабский. Я использую этот код в основном, но календарь все еще в том же культура:

CultureInfo sa = new CultureInfo("ar-SA", false);
sa.DateTimeFormat.Calendar = new System.Globalization.HijriCalendar();
// Sets the culture to Arabic (Saudi Arabia)
Thread.CurrentThread.CurrentCulture = sa;
// Sets the UI culture to Arabic (Saudi Arabia)
Thread.CurrentThread.CurrentUICulture = sa;

Я добавляю DateTimePicker в форму и ожидаю, что он показывает дату в Арабский после запуска, но DateTimePicker или Календарь не изменяется на эта культура.

Ответы [ 3 ]

2 голосов
/ 26 ноября 2011

Элементы управления DateTimePicker и MonthCalendar не отражают свойство CurrentUICulture основного потока выполнения приложения при создании локализованного приложения в .NET Framework, Visual Studio 2005 или Visual Studio .NET

2 голосов
/ 07 ноября 2013

Вы можете изменить культуру и формат DatePicker во время выполнения. Например, следующий код изменяет формат на en-US:

    Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
    System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
    dateTimePicker1.Format = DateTimePickerFormat.Custom;
    dateTimePicker1.CustomFormat = Application.CurrentCulture.DateTimeFormat.ShortDatePattern;

С другой стороны, используйте это, чтобы изменить культуру и формат даты средства выбора даты на Саудовскую Аравию:

    Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SA");
    System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("ar-SA");
    dateTimePicker1.Format = DateTimePickerFormat.Custom;
    dateTimePicker1.CustomFormat = Application.CurrentCulture.DateTimeFormat.ShortDatePattern;
0 голосов
/ 17 ноября 2011

Это изменяет отображаемый формат DateTimePicker - но не дату в расширенном представлении.

  CultureInfo ci = new CultureInfo("ar-SA");
  DateTimeFormatInfo info = ci.DateTimeFormat;
  dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
  dateTimePicker1.CustomFormat = info.ShortDatePattern + " " + info.ShortTimePattern;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...