對DateTimePickers有很多挫折......首先,讓我解釋我的設置。我有2對DateTimePickers。 1是From Date(格式化MM/dd/yyyy),它的對來自Hour(格式化HH和ShowUpDown = true)。除了To Date和To Hour之外,另一對是相同的。他們需要遵守一些規則。管理2對DateTimePicker(From和To)的最佳方法?
- 的從拾取器MaxDates永遠不能超過要採摘MaxDates
- 如果要一天拾取器選擇(ToDatePicker)是當前的日子,那麼這兩個其MaxDates需要是DateTime.Now.AddHours(1 )。這樣用戶將能夠搜索「當前」小時......例如:如果其當前時間爲4/2/13 10:18 PM,則對於該選擇器對的MaxDate需要是4/2/13 11:00 PM ,因此用戶可以將Value from From選擇器對設置爲4/2/13 10 PM,並將選擇器對設置爲4/2/13 11 PM,從而允許他們搜索晚上10點鐘的18分鐘。
我確定更多,但我筋疲力盡......我想你們會明白。我試着用一些棘手的數據綁定像來實現:
在構造函數:
FromDatePicker.DataBindings.Add(new Binding("MaxDate", ToHourPicker, "MaxDate"));
ToDatePicker.DataBindings.Add(new Binding("MaxDate", ToHourPicker, "MaxDate"));
FromHourPicker.DataBindings.Add(new Binding("Value", FromDatePicker, "Value"));
ToHourPicker.DataBindings.Add(new Binding("Value", ToDatePicker, "Value"));
DateTime dt = DateTime.Now.Subtract(new Timespan(0, 0, DateTime.Now.Minute, DateTime.Now.Second, DateTime.Now.Millisecond));
DateTime plusOne = dt.AddHours(1);
FromDatePicker.MaxDate = dt;
FromHourPicker.MaxDate = dt;
ToDatePicker.MaxDate = plusOne;
ToHourPicker.MaxDate = plusOne;
在MainForm的Load事件
FromDatePicker.Value = FromDatePicker.MaxDate;
FromHourPicker.Value = FromDatePicker.MaxDate;
ToDatePicker.Value = ToDatePicker.MaxDate;
ToHourPicker.Value = ToHourPicker.MaxDate;
使用這個配置,它實際上在失敗FromDatePicker.Value = FromDatePicker.MaxDate;
與錯誤消息Value of <current day & hour> is not valid. Value should be between MinDate and MaxDate
一致,除非我將鼠標移過FromDatePicker那一行上它說MaxDate是相同的<current day & hour>
....
我非常困惑和開放,以改善我得到的,或者如果你們可以想到一個更簡單的方法來實現相同的效果我顯然也喜歡聽到這些建議:P。讓我知道如果你需要更多的
您是否嘗試過類似'DateTime date = FromDatePicker.Value.Date + TimePicker.Value.TimeOfDay;'例如..您需要在查看後實際訪問'FromDatePicker.Date'它你需要看看'FromDatePicker.CustomFormat'屬性.. http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.aspx – MethodMan
嗯不,我會給那個射擊。另外,爲什麼downvotes?提供了大量的細節,並問了1個確切的問題(爲什麼是例外)和1種模糊的問題,但仍然有效(有沒有更好的方法) – Hershizer33
不知道DownVote我沒有downvote .. – MethodMan