Этот элемент управления имеет ошибку в методе get свойства Date, всякий раз, когда дата считывается из текстового поля, значение формата даты не учитывается. Вот точная строка методы GET Даты собственности, которая генерирует исключение:
DateTime time = DateTime.Parse(this.dateTextBox.Text, this.Culture);
причина, почему вы получаете текущую дату является то, что контроль кэширует все исключения являются возвратами произошедших текущей даты в случае, если один.
Так что вы делаете, помимо поиска другого контроля или просите продавца исправить это. Обходным путем было бы получить дату непосредственно из текстового поля элемента управления без использования его свойства Date через отражение и проанализировать его. Ниже приведен пример того, как можно это сделать:
TextBox textBox = (TextBox)DatePicker.GetType().InvokeMember("dateTextBox",
BindingFlags.GetField | BindingFlags.Instance | BindingFlags.NonPublic,
null, DatePicker, null);
if (textBox != null)
{
DateTimeFormatInfo format = (new CultureInfo(DatePicker.Culture.Name)).DateTimeFormat;
format.ShortDatePattern = DatePicker.DateFormat;
DateTime date = DateTime.Parse(textBox.Text, format);
Console.WriteLine(date.ToString());
}
надеюсь, что это помогает, считает
Просто из интереса у вас есть копия исходного кода GMDatePicker. Я пытаюсь найти копию. –