熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#高級編程:定制日歷控件[2]

2013-11-13 10:48:44  來源: .NET編程 
    ——此文章摘自《C#高級編程(第版)》定價元 特價元 購買

    接著需要響應日歷上的日期選擇為此需要先為日歷的SelectionChanged事件添加一個事件處理程序強制檢查現有會議的日期雙擊設計器中的日歷添加如下代碼
          private void calendar_SelectionChanged(object sender
                                                   SystemEventArgs e)
          {
             SystemDateTime trialDate = calendarSelectedDate;
             calendarSelectedDate = getFreeDate(trialDate);
          }

    這段代碼與Page_Load()相同

    執行這種檢查的第三個地方是響應登記按鈕的單擊後面會解釋它因為後面進行了許多改變

    接著把日歷的日期單元格變為另一種顏色以表示現存的會議為此需要給日期對象的DayRender事件添加一個事件處理程序每次顯示一個日期時都會觸發這個事件並允許通過在處理程序中接收到的DayRenderEventArgs參數的Cell 和 Date屬性訪問要顯示的單元格對象和這個單元格的日期我們需要比較要顯示的單元格中的日期和eventTable對象中的日期如果匹配就可以使用CellBackColor屬性為單元格著色
          protected void calendar_DayRender(object sender
                         SystemWebUIWebControlsDayRenderEventArgs e)
          {
             if (eventTableRowsCount > )
             {
                SystemDateTime testDate;
                foreach (SystemDataDataRow testRow in eventTableRows)
                {
                   testDate = (SystemDateTime)testRow[EventDate];
                   if (testDateDate == eDayDate)
                   {
                      eCellBackColor = ColorRed;
                   }
                }
             }
          }

    這裡使用紅色得到屏幕圖三月的日都有會議所以用戶選擇了


圖 

    添加了日期選擇邏輯後就不可能選擇顯示為紅色的一天如果要選擇這樣的日期就會選擇該日期後面的某一天例如在圖的日歷中單擊就會選擇

[]  []  


From:http://tw.wingwit.com/Article/program/net/201311/14553.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.