C # WinForms DateTimePicker Пользовательский формат - PullRequest
1 голос
/ 26 апреля 2011

У меня есть DateTimePicker в моей форме. Я хотел бы, чтобы часть формата включала «сегодня», «завтра» и т. Д. В зависимости от ситуации. У меня есть простая реализация для определения значения (и есть гораздо лучшие здесь ), но я бы хотел взять эту реализацию и поместить значение непосредственно в свойство CustomFormat DateTimePicker.

Например, в следующем формате:

dateTimePicker.CustomFormat = "dd MMM yyyy (YTT) HH:mm";

Для получения следующего отображения во время выполнения 16 апреля 2011 года в 12:00:

"16 Apr 2011 (today) 12:00"

Я предполагаю, что это что-то, связанное с созданием IFormatProvider / ICustomFormatter реализации и хакингом настройкой CurrentCulture для его использования.

Большое спасибо заранее.

1 Ответ

4 голосов
/ 26 апреля 2011

Используйте ' вокруг статического текста в пользовательской строке формата даты.

 string ytt = "today"; //Simple example... Update to determine yesterday, today or tomorrow.

 this.dateTimePicker.CustomFormat = "dd MMM yyyy '(" + ytt + ")' HH:mm";
...