私はDateTimePickerのといくつかの面白い(?!?)の問題を持っているし、うまくいけば、誰かが私を助けることができます。私はそれにDateTimePickerとフォームを持って、私はそれをカスタムクラスのプロパティにバインドしたい。 DateTimePickerのカスタムフォーマットはdd.MM.yyyy HH:mm:ss
に設定されています。ここで私が試したもので、それらの試みとのトラブル:DateTimePickerの面白い問題が
- 私はDateTimePickerのの値プロパティへの結合を行いました。私のカスタムクラスのプロパティには有効な日付が含まれています。私がアプリケーションを実行すると、 "01.01.0001 00:00:00"が値の有効な値ではなく、MinDateとMaxDateの間でなければならないというArgumentOutOfRangeExceptionが出ます。 (しかし、私はvalueプロパティにDateTime.MaxValueもDateTime.MinValueどちらを設定することはできません!)
- 私はDateTimePickerののテキストプロパティへの結合を行いました。すべてが正常に実行されていますが、ですが、秒は常に「00」と表示されます。私は異なる値を入力することができ、それらは私のカスタムクラスのバインドされたプロパティに反映されます!
BindingSourceプロパティのカップルを含むカスタムクラスで2
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;
編集:ここでは編集
は、デザイナーのファイルのうちコードスニペットです。値は、バインディングが設定された時点で有効です。私は、次のコードでそれを設定します。
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;
}
関連(参考):http://stackoverflow.com/questions/8359380/datetimepicker-and-secondsコードを貼り付けることはできますか?たぶん、あなたはあなたが見ていなかった "ダム"の間違いをしました。 – Otiel
@Otiel:デザイナーのプロパティシートにすべてのバインディングと設定を行いました。私は関連する行を投稿します。 – Fischermaen
あなたが使っている.NETとVisual Studioのバージョンは? – dknaack