У меня есть DateTimePicker с ShowCheckBox = true в моем приложении winforms. Если я сделаю это в конструкторе форм:
DateFrom.Checked = true;
DateFrom.Value = DateTime.Today.AddDays(-7);
Затем установите DateFrom.Checked = false; в событии FormShown он делает то, что хотел бы, текст в элементе управления по умолчанию равен 7 дням до сегодняшнего дня, и флажок снят.
Если я попытаюсь установить только значение, текст останется таким же, как сегодня. Если я сброслю Checked = false в любое время до события FormShown, текст останется таким же, как сегодня.
Теперь я переместил этот код в пользовательский элемент управления, поэтому для использования того же «хака» потребуется еще больше взлома, поэтому на данный момент я надеюсь, что у кого-то есть более простой метод. Может быть, просто еще одно свойство, которое я могу установить, кроме значения, которое действительно работает? :)
Я пробовал это также:
DateFrom.Text = DateTime.Today.ToString(DateFrom.CustomFormat);
Вместо установки значения или в дополнение к нему безрезультатно.