我正在尋找一種方法來使用兩個DateTimePicker控件在一天內選擇小時數和分鐘數範圍。也就是說,基本上選擇「開始時間」和「結束時間」。DateTimePicker:僅在一天內選擇一個小時數範圍
我開始使用兩個DateTimePicker控件,自定義格式爲h:mm tt。我嘗試添加(在ValueChanged上),一個支票使選定的'開始時間'成爲'結束時間'的最小值,反之亦然,'結束時間'成爲'開始時間'的最大值(抱歉,很難解釋,但感謝您的耐心等待!)
但是,這種方法似乎並不奏效 - 我仍然可以選擇'結束時間'上午11點和'開始時間'下午1點。我感覺時間戳的當前日期與它有關(例如,開始時間是前一天,因此較少)。
我曾考慮換一個全天預設半小時間隔的組合框;然而分鐘需要比那更靈活...
有什麼想法?
UPDATE:
下面回答這個問題丹的評論...這是我結束了供參考的代碼;
Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged
DateTimePicker2.MinDate = Date.Today + DateTimePicker1.Value.TimeOfDay
End Sub
Private Sub DateTimePicker2_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker2.ValueChanged
DateTimePicker1.MaxDate = Date.Today + DateTimePicker2.Value.TimeOfDay
End Sub
DateTimePIcker1作爲下限,DateTImePIcker2作爲上限,二者使用的「h:毫米TT」作爲自定義日期時間格式。
存儲這些首選項現在只需使用Value.TimeOfDay(並將其存儲爲時間跨度),然後在檢索時發生以下加載過程;
DateTimePicker1.Value = Date.Today + StoredTimeLowerBound
DateTimePicker2.Value = Date.Today + StoredTimeUpperBound
這將自動調用上面處理的ValueChanged事件並恢復選定的值。
丹,感謝您的幫助:)
發佈您正在使用的ValueChanged邏輯可能會有幫助。 – 2009-09-18 17:39:15
當然,當我有機會回到我的代碼:) – 2009-09-18 18:06:53