聽起來像你想要做的是設置屬性Calendar.SelectedDate
和Calendar.VisibleDate
。
我不確定你要去的究竟是什麼,因爲我不知道用戶將選擇你的Jan 1/Jun 1日期或第三個星期日與此相關的控件類型。 。只有一個日曆嗎?如果下面的信息不能幫助你,請多解釋一下。
我會從我的一個應用程序粘貼一些VB代碼,希望它會幫助你。現在你已經張貼的細節這將成爲一個不同的問題
Protected Sub calArrival_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles calArrival.SelectionChanged
SetFormDepartureEntry()
lblArrivalDate.Text = calArrival.SelectedDate.ToLongDateString
calDeparture.SelectedDate = calArrival.SelectedDate
calDeparture.VisibleDate = calArrival.SelectedDate
dtSelectedArrival = "1/1/2000"
'Determine if we need to see 2 months to view all possible departure dates.
If (DatePart(DateInterval.Month, calDeparture.SelectedDate) <> _
DatePart(DateInterval.Month, DateAdd(DateInterval.Day, 14, calDeparture.SelectedDate))) Then
calDeparture2.Visible = True
calDeparture2.SelectedDate = Nothing
calDeparture2.VisibleDate = DateAdd(DateInterval.Month, 1, calDeparture.SelectedDate)
Else
calDeparture2.Visible = False
End If
End Sub
確定。你不知道你需要多少日曆,所以你可能想要在代碼中創建它們。我會建議在你的標記中使用Panel控件來包含所有可能的結果日曆。然後,如您之前所建議的那樣,根據需要創建新的Calendar對象並將它們添加到「錨點」面板的Controls集合中。
Calendar objCal = new Calendar();
pnlResultsContainer.Controls.Add(objCal);
就設置選定日期而言,我相信每個日曆只能有一個「選定」日期。但是,您可以通過處理Calendar.DayRender事件來設置呈現樣式,以及是否啓用該日等。也許有人可以幫助我建立一個在C#中動態創建控件的處理程序?我認爲它是這樣的:
objCal.DayRender += AddressOf(DynamicDayRenderHandler());
如果這不正確,請更正。
確定在處理程序中設置樣式的正確日期將是針對作爲事件參數的DayRenderEventArgs.Day對象進行編碼的問題。我不隨便知道如何找到你正在尋找的特定日期/時間間隔,但應該可以在下面的文章有一點研究:
How to: Customize Individual Days in a Calendar Web Server Control
DayRenderEventArgs.Day Property
希望這有助於。
感謝您的評論。我已經更新了我的問題 – 2011-04-29 17:08:31
任何解決方案Guys?請幫忙 – 2011-04-29 17:40:56