Calendar(日历控件)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ToString转换到一个字符串
DateTime的只读属性
属性名称说明
Date返回日期部分
Day返回月份中的日期
DayOfWeek返回一周中的日期,如Friday,Saturday等
DayOfYear返回年份中的日期
Hour返回小时部分
Millisecond返回毫秒部分
Minute返回分钟部分
Month返回月部分
SelectRange方法将指定的日期范围添加到SelectedDatesCollection集合中
需要两个参数:开始日期和结束日期。
例如:
Calendar1.SelectedDates.SelectRange(StartDate, EndDate);
DayRender事件当为Calendar控件在控件层次结构中创建每一天时发生
None未能选择日期
控制Calendar的外观
许多TableItemStyle类型的属性用于控制日历每个部分的样式。
Calendar中TableItemStyle类型的属性
名称所设置样式的对象
DayHeaderStyle一周中某天
DayStyle日期
NextPrevStyle月份导航控件
OtherMonthDayStyle不在当前显示月份中的日期
SelectedDayStyle选中日期
SelectorStyle周和月选择器列
TitleStyle标题栏
TodayDayStyle今天的日期
WeekendDayStyle周末日期
Boolean类型的属性控制日历外观的不同部分
属性默认值控制其可见性的对象
ShowDayHeader true一周中每一天的名称
CellPadding边框和单元格之间的以像素为单位的间距。默认为2(注意不要加单位)
CellSpacing单元格间以像素为单位的间距。默认值为0
DayNameFormat一周中每一天的格式。默认为Short
FirstDayOfWeek在第一列显示的一周的某一天,默认值由系统设置指定
NextMonthText下一月份的导航按钮的文本。默认为大于号(>)
VisibleDate显示月份的任意日期
在Calendar中选择日期
如果需要让用户可以选择一天、一周或一个月,则必须设置SelectionMode属性。
CalendarSelectionMode枚举成员
Day允许用户选择单个日期。这是默认值
DayWeek允许用户选择单个日期或整周
DayWeekMonth允许用户选择单个日期、周或整个月
DayRender事件处理程序接收两个DayRenderEventArgs类型的参数。
该对象有两个属性,它们可以用编程方式读取:
Cell表示要呈现的单元格的表格单元格对象。
Day表示呈现在单元格中日期的CalendarDay对象。
例如:
添加事件:
OnDayRender="Calendar1_DayRender"
检测当前选择日期Calendar1.SelectedDate是否等于DateTime.MinValue来检查是否选择了一个日期
MaxValue字段的值为11:59:59 PM,12/31/9999 CE。
SelectedDates集合中的日期是按日期升序排列的。
SelectedDate属性自动更新为包含SelectedDates集合的第一个对象。
ShowGridLines false月份中日期的网格线
ShowNextPrevMonth true月份导航控件
源自文库ShowTitle true标题栏
Calendar控件编程
Calendar控件提供了3个事件:
SelectionChanged
DayRender
VisibleMonthChanged
SelectionChanged事件当用户控件选择一天、一周或整月时发生
DateTime对象的DaysInMonth属性获取该月份中的天数
例如:
System.DateTime.DaysInMonth(currentYear, currentMonth)
判断当前日期是星期几,可用DayOfWeek对象
例如:
DateTime date = new DateTime(currentYear, currentMonth, i);
Day是一个CalendarDay类型属性。
CalendarDay类的属性
属性说明
Date由Day表示的日期。只读
DayNumberText该日期的日编号的等效字符串。只读
IsOtherMonth指示该日期是否显示当前月份以外的月份。只读
IsSelectable指示该日期是否可以被选择。非只读
IsSelected指示该日期是否被选择
以编程方式选择时,并不触发该事件。该事件处理程序传递一个EventArgs类型参数。
例如:
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
lblTodaysDate.Text = "Today's Date is " + Calendar1.TodaysDate.ToShortDateString();
if (Calendar1.SelectedDate != DateTime.MinValue)
lblSelected.Text = "Thedateselected is " + Calendar1.SelectedDate.ToShortDateString();
lblCount.Text = "Count of Days Selected: " + Calendar1.SelectedDates.Count.ToString();
lblSelectedUpdate( );
lblCountUpdate( );
txtClear( );
}
参数:
MonthChangedEventArgs类型的参数属性:
NewDate表示Calendar当前显示的月份。
PreviousDate表示Calendar以前显示的月份。
NextPrevFormat在NextMont-hText和PrevMonth-Text中指定使用的文本
PrevMonthText上一月份的导航按钮的文本。默认为小于号(<)。
SelectedDate一个选定的日期。只保留日期,时间为空
SelectedDates选择多个日期后的DateTime对象的集合。只保存日期,时间为空
if (date.DayOfWeek == DayOfWeek.Friday)
//date是星期五
使用SelectedDates集合以编程方式选择Calendar控件上的日期。
使用Add、Remove、Clear和SelectRange方法在SelectedDates集合中的选定日期。
例如:
Calendar1.SelectedDates.Add(date);
SelectedDates.Count选择了选择了日期的数量
SelectionMode在本节的后面描述
SelectMonthText选择器列中月份选择元素显示的文本。默认为两个大于号(>>)。
ShowDayHeader是否在日历标题中显示一周中每一天的名称。默认为true
ShowGridLines如果为true,显示单元格之间的网格线。默认为false
(e.NewDate.Month > e.PreviousDate.Month)))
lblMonthChanged.Text = "My future's so bright...";
else
lblMonthChanged.Text = "Back to the future!";
Calendar1.SelectedDates.Clear( );
Calendar控件
Calendar控件功能:
显示一个日历,该日历会显示一个月份
允许用户选择日期、周、月
允许用户选择一定范围内的日期
允许用户移到下一月或上一月
以编程方式控件选定日期的显示
Calendar最重要的属性
名称说明
Caption显示在日历上方的文本(标题)
CaptionAlign指定标题的垂直和水平对齐方式
//在单元格中显示“Happy New Year!”
if (e.Day.Date.Month == 1 && e.Day.Date.Day == 1)
e.Cell.Controls.Add(new LiteralControl("<br/>Happy New Year!"));
}
参数:
DayRenderEventArgs包含Day和Cell的属性。
事件处理程序:
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
//注意这将会覆盖WeekendDayStyle
if (!e.Day.IsOtherMonth && e.Day.IsWeekend)
e.Cell.BackColor = System.Drawing.Color.LightGreen;
IsToday指示该日期是否是今天
IsWeekend指示该日期是否是周末
VisibleMonthChanged事件当用户单击标题标头上的下个月或上个月导航控件时发生
例如:
添加事件:
OnVisibleMonthChanged="Calendar1_VisibleMonthChanged"
事件处理程序:
例如:
Calendar1.VisibleDate = new DateTime(Calendar1.VisibleDate.Year,
Int32.Parse(ddl.SelectedItem.Value), 1);
Int32.Parse(ddl.SelectedItem.Value)能把这个Value值转换为整型
protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
{
if ((e.NewDate.Year > e.PreviousDate.Year) ||
((e.NewDate.Year == e.PreviousDate.Year) &&
ShowNextPrevMonth指定是否显示上个月和下个月导航元素。默认为true
ShowTitle指定是否显示标题(上个月和下个月导航元素)。
TitleFormat指定标题是显示为月份,还是同时显示月份和年份.默认为MonthYear另一属性为month
TodaysDate今天的日期
UseAccessibleHeader指示是否使用可通过辅助技术访问的标题
Second返回秒部分
Ticks返回表示日期和时间的以100毫微秒为间隔的间隔数
TimeOfDay返回当天的时间
Year返回年部分
DateTime的字段
MaxValue表示DateTime的最大可能值。此字段为只读。
MinValue表示DateTime的最小可能值。此字段为只读。
如果没有选择一个日期SelectedDate属性,则默认为DateTime.MinValue
尽管SelectedDates(选定日期的集合)和SelectedDate(单个选定的日期)都包含DateTime对象,但只存储Date值,时间值被设置null(在C#语言中)。
使用Calendar控件的VisibleDate属性可以设置显示的月份
VisibleDate属性是DateTime类型需要3个整型参数:year、month和day。
}
TodaysDate属性获取或设置今天的日期的值(System.DateTime类型)
DateTime转换到字符串的方法
方法名称说明
ToFileTime转换到本地文件系统的格式
ToLongDateString转换到长日期字符串
ToLongTimeString转换到长时间字符串
ToShortTimeString转换到短时间字符串
相关文档
最新文档