У меня есть некоторые забавные (?!?) Проблемы с DateTimePicker, и, надеюсь, кто-нибудь может мне помочь.У меня есть форма с DateTimePicker, и я хочу связать ее со свойством пользовательского класса.DateTimePicker имеет собственный формат, установленный на dd.MM.yyyy HH:mm:ss
.Вот что я пробовал и проблемы с этими попытками:
- Я сделал привязку к свойству DateTimePicker Value .Свойство моего пользовательского класса содержит действительную дату.Когда я запускаю приложение, я получаю ArgumentOutOfRangeException, заявляя, что «01.01.0001 00:00:00» не является допустимым значением для значения, и оно должно быть между MinDate и MaxDate.( Но я не могу установить ни DateTime.MaxValue, ни DateTime.MinValue для свойства value! )
- Я сделал привязку к Text свойству DateTimePicker.Все работает хорошо, , но секунды всегда отображаются как "00".Я могу ввести разные значения, и они будут отражены в связанном свойстве моего пользовательского класса!
Любые идеи?
Редактировать Вот фрагмент кода изфайл конструктора:
this.dateTimePickerTimestampFrom.CustomFormat = "dd.MM.yyyy HH:mm:ss";
this.dateTimePickerTimestampFrom.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.bindingSourceSelectLogEntries, "DateFrom", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.dateTimePickerTimestampFrom.Enabled = false;
this.dateTimePickerTimestampFrom.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dateTimePickerTimestampFrom.Location = new System.Drawing.Point(81, 42);
this.dateTimePickerTimestampFrom.Name = "dateTimePickerTimestampFrom";
this.dateTimePickerTimestampFrom.Size = new System.Drawing.Size(147, 20);
this.dateTimePickerTimestampFrom.TabIndex = 3;
Edit 2 bindingsource - это пользовательский класс, содержащий несколько свойств.Значения действительны на момент установления привязки.Я установил его в следующем коде:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
// Exception is thrown at the following line.
// controller is an instance of my custom class containing valid values.
bindingSourceSelectLogEntries.DataSource = controller;
}