您的位置:首页 > 职场人生

2-13 monthCalendar日历控件

2009-09-29 23:48 411 查看

2-13 monthCalendar日历控件

u本节学习目标:[/b]
n了解monthCalendar控件的属性
n学习monthCalendar控件属性的动态控制

2-13-1  简介

Windows 窗体 MonthCalendar 控件为用户查看和设置日期信息提供了一个直观的图形界面。该控件以网格形式显示日历,网格包含月份的编号日期,这些日期排列在周一到周日下的七个列中,并且突出显示选定的日期范围。可以单击月份标题任何一侧的箭头按钮来选择不同的月份。与类似的 DateTimePicker 控件不同,您可以使用该控件选择多个日期,但其选择范围仅限一周(按住shift键用鼠标点击范围)。monthCalendar控件通常用于选择日期,典型的日历控件如图2-42所示:
[align=center][/align]



[align=center]图2-42 monthCalendar日历控件样式[/align]

2-13-2  monthCalendar控件的属性

monthCalendar控件主要的属性如表2-13所示:

[align=center]属性[/b][/align][align=center]说明[/b][/align]
[align=left]Backcolor[/align][align=left]月份中显示背景色。[/align]
[align=left]SelectionRange[/align][align=left]在月历中显示的起始时间范围,Begin为开始,end为截至。[/align]
[align=left]Minmum[/align][align=left]最小值,默认0.[/align]
[align=left]Showtody,[/align]
[align=left]showtodaycircle,[/align]
[align=left]Showweeknumbers[/align]
[align=left]是否显示今天日期[/align]
[align=left]是否在今天日期上加红圈[/align]
[align=left]是否左侧显示周数(1-52周)[/align]
[align=left]Titlebackcolor[/align]
[align=left]TitleForcolor[/align]
[align=left]Trailingcolor[/align]
[align=left]日历标题背景色。[/align]
[align=left]日历标题前景色[/align]
[align=left]上下月颜色[/align]
[align=center]表2-13 monthCalendar控件的属性[/align]

2-13-3  monthCalendar控件实践操作

1. 案例学习:monthCalendar控件属性动态控制

(1)从工具箱之中拖放一个monthCalendar控件,三个ComBoBox控件和若干Label标签,如图2-43所示进行布局。
[align=center][/align]



[align=center]图2-43 monthCalendar控件实验布局[/align]
(2)具体功能的实现见下面的编码部分:

[align=left]using System;[/align]
[align=left]using System.Collections.Generic;[/align]
[align=left]using System.ComponentModel;[/align]
[align=left]using System.Data;[/align]
[align=left]using System.Drawing;[/align]
[align=left]using System.Text;[/align]
[align=left]using System.Windows.Forms;[/align]
[align=left] [/align]
[align=left]namespace WindowsApplication2[/align]
[align=left]{[/align]
[align=left] public partial class Form007 : Form[/align]
[align=left] {[/align]
[align=left] public Form007()[/align]
[align=left] {[/align]
[align=left] InitializeComponent();[/align]
[align=left] }[/align]
[align=left] /// <summary>[/align]
[align=left] /// 初始化时候,首先设置label标签的内容[/align]
[align=left] /// </summary>[/align]
[align=left] private void Form007_Load(object sender, EventArgs e)[/align]
[align=left] {[/align]
[align=left] label1.Text = "今天是:" + monthCalendar1.TodayDate.ToString();[/align]
[align=left] label2.Text = "";[/align]
[align=left] label3.Text = "";[/align]
[align=left] label7.Text = "";[/align]
[align=left] label8.Text = "";[/align]
[align=left] label9.Text = "";[/align]
[align=left] }[/align]
[align=left] /// <summary>[/align]
[align=left] /// 一旦monthCalendar控件的时间发生变化,则引发label标签的内容改变。[/align]
[align=left] /// </summary>[/align]
[align=left] private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)[/align]
[align=left] {[/align]
[align=left] label2.Text = "起始日期:" + monthCalendar1.SelectionStart.ToString();[/align]
[align=left] //学习monthCalendar属性SelectionStart,表示获取起始日期[/align]
[align=left] label3.Text = "结束日期:" + monthCalendar1.SelectionEnd.ToString();[/align]
[align=left] //学习monthCalendar属性SelectionEnd,表示获取结束日期[/align]
[align=left] label7.Text = "加3月日期:" + monthCalendar1.SelectionStart.AddMonths(3).ToString();[/align]
[align=left] //学习monthCalendar方法AddMonths,表示增加起始日期的月份[/align]
[align=left] label8.Text = "加3天日期:" + monthCalendar1.SelectionStart.AddDays(3).ToString();[/align]
[align=left] //学习monthCalendar方法AddDays,表示增加起始日期的天数[/align]
[align=left] label9.Text = "加3年日期:" + monthCalendar1.SelectionStart.AddYears(3).ToString();[/align]
[align=left] //学习monthCalendar方法AddYears,表示增加起始日期的年份[/align]
[align=left] }[/align]
[align=left] /// <summary>[/align]
[align=left] /// 当改变背景色时候出发代码,本案例熟悉monthCalendar控件的TitleBackColor属性[/align]
[align=left] /// </summary>[/align]
[align=left] private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)[/align]
[align=left] {[/align]
[align=left] if (comboBox1.SelectedIndex >= 0)[/align]
[align=left] {[/align]
[align=left] int i = comboBox1.SelectedIndex;[/align]
[align=left] switch (i)[/align]
[align=left] {[/align]
[align=left] case 0:[/align]
[align=left] monthCalendar1.TitleBackColor = System.Drawing.Color.Red;[/align]
[align=left] break;[/align]
[align=left] case 1:[/align]
[align=left] monthCalendar1.TitleBackColor = System.Drawing.Color.Yellow;[/align]
[align=left] break;[/align]
[align=left] case 2:[/align]
[align=left] monthCalendar1.TitleBackColor = System.Drawing.Color.Blue;[/align]
[align=left] break;[/align]
[align=left] case 3:[/align]
[align=left] monthCalendar1.TitleBackColor = System.Drawing.Color.Green;[/align]
[align=left] break;[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] /// <summary>[/align]
[align=left] /// 当改变标题色时候出发代码,本案例熟悉monthCalendar控件的TrailingForeColor属性[/align]
[align=left] /// </summary>[/align]
[align=left] private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)[/align]
[align=left] {[/align]
[align=left] if (comboBox2.SelectedIndex >= 0)[/align]
[align=left] {[/align]
[align=left] int i = comboBox2.SelectedIndex;[/align]
[align=left] switch (i)[/align]
[align=left] {[/align]
[align=left] case 0:[/align]
[align=left] monthCalendar1.TrailingForeColor = System.Drawing.Color.Red;[/align]
[align=left] break;[/align]
[align=left] case 1:[/align]
[align=left] monthCalendar1.TrailingForeColor = System.Drawing.Color.Yellow;[/align]
[align=left] break;[/align]
[align=left] case 2:[/align]
[align=left] monthCalendar1.TrailingForeColor = System.Drawing.Color.Blue;[/align]
[align=left] break;[/align]
[align=left] case 3:[/align]
[align=left] monthCalendar1.TrailingForeColor = System.Drawing.Color.Green;[/align]
[align=left] break;[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] /// <summary>[/align]
[align=left] /// 当改变前景色时候出发代码,本案例熟悉monthCalendar控件的TitleForeColo属性[/align]
[align=left] /// </summary>[/align]
[align=left] private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)[/align]
[align=left] {[/align]
[align=left] if (comboBox3.SelectedIndex >= 0)[/align]
[align=left] {[/align]
[align=left] int i = comboBox3.SelectedIndex;[/align]
[align=left] switch (i)[/align]
[align=left] {[/align]
[align=left] case 0:[/align]
[align=left] monthCalendar1.TitleForeColor = System.Drawing.Color.Red;[/align]
[align=left] break;[/align]
[align=left] case 1:[/align]
[align=left] monthCalendar1.TitleForeColor = System.Drawing.Color.Yellow;[/align]
[align=left] break;[/align]
[align=left] case 2:[/align]
[align=left] monthCalendar1.TitleForeColor = System.Drawing.Color.Blue;[/align]
[align=left] break;[/align]
[align=left] case 3:[/align]
[align=left] monthCalendar1.TitleForeColor = System.Drawing.Color.Green;[/align]
[align=left] break;[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]}[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息