Calendar控件的常用事件
事件 说明
DayRender 当日期被显示的时候被触发
SelectionChanged 当日期被用户选择(单击)的时候被触发
VisibleMonthChanged 当所显示的月份被更改(前一个/后一个链接)的时候被触发
在创建Calendar控件中的每个日期单元格时,均会引发DayRender事件。通过在DayRender事件的事件处理程序中提供代码,可以在创建日期单元格时控制其内容和格式设置。当选择月历中的日期时,则会激发SelectionChanged事件。Calendar控件中,最常使用的事件是 SelectionChanged,它允许用户在选择日期的时候运行相应代码。对当前月份的切换,将会激发VisibleMonthChanged事件。
DayRender 事件处理程序接受DayRenderEventArgs参数,改参数有Cell和Day2个属性,里面包含了自定义单元格中所需要的所有内容。 VisibleMonthChanged事件中则接受MonthChangedEventArgs参数,该参数的重要属性为NewDate和 PreviousDate,分别表示当前显示的月份和Calendar中以前显示的月份。
CalendarControl.aspx
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CalendarControl.aspx.cs" Inherits="CalendarControl" %>
2
3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5<html xmlns="http://www.w3.org/1999/xhtml" >
6<head runat="server">
7 <title>Calendar控件应用示例</title>
8</head>
9<body>
10 <form id="form1" runat="server">
11 <div>
12 <div>
13 <asp:Calendar ID="myCalendar" runat="server" BackColor="White" BorderColor="#3366CC"
14 BorderWidth="1px" CellPadding="1" DayNameFormat="Shortest" Font-Names="Verdana"
15 Font-Size="8pt" ForeColor="#003399" Height="200px" OnDayRender="myCalendar_DayRender"
16 OnSelectionChanged="myCalendar_SelectionChanged" OnVisibleMonthChanged="myCalendar_VisibleMonthChanged"
17 Width="220px">
18 <SelectedDayStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
19 <TodayDayStyle BackColor="#99CCCC" ForeColor="White" />
20 <SelectorStyle BackColor="#99CCCC" ForeColor="#336666" />
21 <WeekendDayStyle BackColor="#CCCCFF" />
22 <OtherMonthDayStyle ForeColor="#999999" />
23 <NextPrevStyle Font-Size="8pt" ForeColor="#CCCCFF" />
24 <DayHeaderStyle BackColor="#99CCCC" ForeColor="#336666" Height="1px" />
25 <TitleStyle BackColor="#003399" BorderColor="#3366CC" BorderWidth="1px" Font-Bold="True"
26 Font-Size="10pt" ForeColor="#CCCCFF" Height="25px" />
27 </asp:Calendar>
28 <br />
29 <br />
30 <asp:Label ID="lbText" runat="server"></asp:Label><br />
31 <br />
32 Calendar控件的常用事件<br />
33 <table border="1">
34 <tr>
35 <td style="width: 148px; text-align: center">
36 事件</td>
37 <td style="width: 426px; text-align: center">
38 说明</td>
39 </tr>
40 <tr>
41 <td style="width: 148px">
42 DayRender</td>
43 <td style="width: 426px">
44 当日期被显示的时候被触发</td>
45 </tr>
46 <tr>
47 <td style="width: 148px">
48 SelectionChanged</td>
49 <td style="width: 426px">
50 当日期被用户选择(单击)的时候被触发</td>
51 </tr>
52 <tr>
53 <td style="width: 148px">
54 VisibleMonthChanged</td>
55 <td style="width: 426px">
56 当所显示的月份被更改(前一个/后一个链接)的时候被触发</td>
57 </tr>
58 </table>
59 </div>
60 <br />
61 在创建Calendar控件中的每个日期单元格时,均会引发DayRender事件。通过在DayRender事件的事件处理程序中提供代码,可以在创建日期单元格时控制其内容和格式设置。当选择月历中的日期时,则会激发SelectionChanged事件。Calendar控件中,最常使用的事件是 SelectionChanged,它允许用户在选择日期的时候运行相应代码。对当前月份的切换,将会激发VisibleMonthChanged事件。<br />
62 <br />
63 DayRender 事件处理程序接受DayRenderEventArgs参数,改参数有Cell和Day2个属性,里面包含了自定义单元格中所需要的所有内容。 VisibleMonthChanged事件中则接受MonthChangedEventArgs参数,该参数的重要属性为NewDate和 PreviousDate,分别表示当前显示的月份和Calendar中以前显示的月份。
64
65 </div>
66 </form>
67</body>
68</html>
69
CalendarControl.aspx.cs
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11using System.Drawing;
12
13public partial class CalendarControl : System.Web.UI.Page
14{
15 protected void Page_Load(object sender, EventArgs e)
16 {
17
18 }
19 protected void myCalendar_SelectionChanged(object sender, EventArgs e)
20 {
21 this.lbText.Text = "您选择的日期是:" + this.myCalendar.SelectedDate.Month.ToString() + "月"
22 + this.myCalendar.SelectedDate.Day.ToString() + "号";
23 this.lbText.ForeColor = Color.Blue;
24 }
25 protected void myCalendar_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
26 {
27 this.lbText.Text = "您现在选择的月份是:" + e.NewDate.Month + "月";
28 this.lbText.ForeColor = Color.Blue;
29 }
30 protected void myCalendar_DayRender(object sender, DayRenderEventArgs e)
31 {
32 //让周六和周日变为不可选
33 e.Day.IsSelectable = !(e.Day.Date.DayOfWeek == DayOfWeek.Saturday || e.Day.Date.DayOfWeek == DayOfWeek.Sunday);
34 //如果日期可选,则日期的背景色变为Aqua色
35 if (e.Day.IsSelectable)
36 {
37 e.Cell.BackColor = Color.Aqua;
38 }
39 }
40}
事件 说明
DayRender 当日期被显示的时候被触发
SelectionChanged 当日期被用户选择(单击)的时候被触发
VisibleMonthChanged 当所显示的月份被更改(前一个/后一个链接)的时候被触发
在创建Calendar控件中的每个日期单元格时,均会引发DayRender事件。通过在DayRender事件的事件处理程序中提供代码,可以在创建日期单元格时控制其内容和格式设置。当选择月历中的日期时,则会激发SelectionChanged事件。Calendar控件中,最常使用的事件是 SelectionChanged,它允许用户在选择日期的时候运行相应代码。对当前月份的切换,将会激发VisibleMonthChanged事件。
DayRender 事件处理程序接受DayRenderEventArgs参数,改参数有Cell和Day2个属性,里面包含了自定义单元格中所需要的所有内容。 VisibleMonthChanged事件中则接受MonthChangedEventArgs参数,该参数的重要属性为NewDate和 PreviousDate,分别表示当前显示的月份和Calendar中以前显示的月份。
CalendarControl.aspx
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CalendarControl.aspx.cs" Inherits="CalendarControl" %>
2
3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5<html xmlns="http://www.w3.org/1999/xhtml" >
6<head runat="server">
7 <title>Calendar控件应用示例</title>
8</head>
9<body>
10 <form id="form1" runat="server">
11 <div>
12 <div>
13 <asp:Calendar ID="myCalendar" runat="server" BackColor="White" BorderColor="#3366CC"
14 BorderWidth="1px" CellPadding="1" DayNameFormat="Shortest" Font-Names="Verdana"
15 Font-Size="8pt" ForeColor="#003399" Height="200px" OnDayRender="myCalendar_DayRender"
16 OnSelectionChanged="myCalendar_SelectionChanged" OnVisibleMonthChanged="myCalendar_VisibleMonthChanged"
17 Width="220px">
18 <SelectedDayStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
19 <TodayDayStyle BackColor="#99CCCC" ForeColor="White" />
20 <SelectorStyle BackColor="#99CCCC" ForeColor="#336666" />
21 <WeekendDayStyle BackColor="#CCCCFF" />
22 <OtherMonthDayStyle ForeColor="#999999" />
23 <NextPrevStyle Font-Size="8pt" ForeColor="#CCCCFF" />
24 <DayHeaderStyle BackColor="#99CCCC" ForeColor="#336666" Height="1px" />
25 <TitleStyle BackColor="#003399" BorderColor="#3366CC" BorderWidth="1px" Font-Bold="True"
26 Font-Size="10pt" ForeColor="#CCCCFF" Height="25px" />
27 </asp:Calendar>
28 <br />
29 <br />
30 <asp:Label ID="lbText" runat="server"></asp:Label><br />
31 <br />
32 Calendar控件的常用事件<br />
33 <table border="1">
34 <tr>
35 <td style="width: 148px; text-align: center">
36 事件</td>
37 <td style="width: 426px; text-align: center">
38 说明</td>
39 </tr>
40 <tr>
41 <td style="width: 148px">
42 DayRender</td>
43 <td style="width: 426px">
44 当日期被显示的时候被触发</td>
45 </tr>
46 <tr>
47 <td style="width: 148px">
48 SelectionChanged</td>
49 <td style="width: 426px">
50 当日期被用户选择(单击)的时候被触发</td>
51 </tr>
52 <tr>
53 <td style="width: 148px">
54 VisibleMonthChanged</td>
55 <td style="width: 426px">
56 当所显示的月份被更改(前一个/后一个链接)的时候被触发</td>
57 </tr>
58 </table>
59 </div>
60 <br />
61 在创建Calendar控件中的每个日期单元格时,均会引发DayRender事件。通过在DayRender事件的事件处理程序中提供代码,可以在创建日期单元格时控制其内容和格式设置。当选择月历中的日期时,则会激发SelectionChanged事件。Calendar控件中,最常使用的事件是 SelectionChanged,它允许用户在选择日期的时候运行相应代码。对当前月份的切换,将会激发VisibleMonthChanged事件。<br />
62 <br />
63 DayRender 事件处理程序接受DayRenderEventArgs参数,改参数有Cell和Day2个属性,里面包含了自定义单元格中所需要的所有内容。 VisibleMonthChanged事件中则接受MonthChangedEventArgs参数,该参数的重要属性为NewDate和 PreviousDate,分别表示当前显示的月份和Calendar中以前显示的月份。
64
65 </div>
66 </form>
67</body>
68</html>
69
CalendarControl.aspx.cs
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11using System.Drawing;
12
13public partial class CalendarControl : System.Web.UI.Page
14{
15 protected void Page_Load(object sender, EventArgs e)
16 {
17
18 }
19 protected void myCalendar_SelectionChanged(object sender, EventArgs e)
20 {
21 this.lbText.Text = "您选择的日期是:" + this.myCalendar.SelectedDate.Month.ToString() + "月"
22 + this.myCalendar.SelectedDate.Day.ToString() + "号";
23 this.lbText.ForeColor = Color.Blue;
24 }
25 protected void myCalendar_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
26 {
27 this.lbText.Text = "您现在选择的月份是:" + e.NewDate.Month + "月";
28 this.lbText.ForeColor = Color.Blue;
29 }
30 protected void myCalendar_DayRender(object sender, DayRenderEventArgs e)
31 {
32 //让周六和周日变为不可选
33 e.Day.IsSelectable = !(e.Day.Date.DayOfWeek == DayOfWeek.Saturday || e.Day.Date.DayOfWeek == DayOfWeek.Sunday);
34 //如果日期可选,则日期的背景色变为Aqua色
35 if (e.Day.IsSelectable)
36 {
37 e.Cell.BackColor = Color.Aqua;
38 }
39 }
40}