2-13 monthCalendar日历控件

简介:

2-13  monthCalendar日历控件

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

     2-13-1   简介

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

     2-13-2   monthCalendar控件的属性

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

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

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

1 )从工具箱之中拖放一个 monthCalendar 控件,三个 ComBoBox 控件和若干 Label 标签,如图 2-43 所示进行布局。
2-43  monthCalendar控件实验布局
2 )具体功能的实现见下面的编码部分:
using  System;
using  System.Collections.Generic;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Text;
using  System.Windows.Forms;
 
namespace  WindowsApplication2
{
    public partial class Form007 : Form
    {
        public Form007()
        {
            InitializeComponent();
        }
        /// <summary>
        /// 初始化时候,首先设置label标签的内容
        /// </summary>
        private void Form007_Load(object sender, EventArgs e)
        {
            label1.Text = "今天是:" + monthCalendar1.TodayDate.ToString();
            label2.Text = "";
            label3.Text = "";
            label7.Text = "";
            label8.Text = "";
            label9.Text = "";
        }
        /// <summary>
        /// 一旦monthCalendar控件的时间发生变化,则引发label标签的内容改变。
        /// </summary>
        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            label2.Text = "起始日期:" + monthCalendar1.SelectionStart.ToString();
            //学习monthCalendar属性SelectionStart,表示获取起始日期
            label3.Text = "结束日期:" + monthCalendar1.SelectionEnd.ToString();
            //学习monthCalendar属性SelectionEnd,表示获取结束日期
            label7.Text = "加3月日期:" + monthCalendar1.SelectionStart.AddMonths(3).ToString();
            //学习monthCalendar方法AddMonths,表示增加起始日期的月份
            label8.Text = "加3天日期:" + monthCalendar1.SelectionStart.AddDays(3).ToString();
            //学习monthCalendar方法AddDays,表示增加起始日期的天数
            label9.Text = "加3年日期:" + monthCalendar1.SelectionStart.AddYears(3).ToString();
            //学习monthCalendar方法AddYears,表示增加起始日期的年份
        }
        /// <summary>
        /// 当改变背景色时候出发代码,本案例熟悉monthCalendar控件的TitleBackColor属性
        /// </summary>
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex >= 0)
            {
                int i = comboBox1.SelectedIndex;
                switch (i)
                {
                    case 0:
                        monthCalendar1.TitleBackColor = System.Drawing.Color.Red;
                        break;
                    case 1:
                        monthCalendar1.TitleBackColor = System.Drawing.Color.Yellow;
                        break;
                    case 2:
                        monthCalendar1.TitleBackColor = System.Drawing.Color.Blue;
                        break;
                    case 3:
                        monthCalendar1.TitleBackColor = System.Drawing.Color.Green;
                        break;
                }
            }
        }
        /// <summary>
        /// 当改变标题色时候出发代码,本案例熟悉monthCalendar控件的TrailingForeColor属性
        /// </summary>
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox2.SelectedIndex >= 0)
            {
                int i = comboBox2.SelectedIndex;
                switch (i)
                {
                    case 0:
                        monthCalendar1.TrailingForeColor = System.Drawing.Color.Red;
                        break;
                    case 1:
                        monthCalendar1.TrailingForeColor = System.Drawing.Color.Yellow;
                        break;
                    case 2:
                        monthCalendar1.TrailingForeColor = System.Drawing.Color.Blue;
                        break;
                    case 3:
                        monthCalendar1.TrailingForeColor = System.Drawing.Color.Green;
                        break;
                }
            }
        }
        /// <summary>
        /// 当改变前景色时候出发代码,本案例熟悉monthCalendar控件的TitleForeColo属性
        /// </summary>
        private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox3.SelectedIndex >= 0)
            {
                int i = comboBox3.SelectedIndex;
                switch (i)
                {
                    case 0:
                        monthCalendar1.TitleForeColor = System.Drawing.Color.Red;
                        break;
                    case 1:
                        monthCalendar1.TitleForeColor = System.Drawing.Color.Yellow;
                        break;
                    case 2:
                        monthCalendar1.TitleForeColor = System.Drawing.Color.Blue;
                        break;
                    case 3:
                        monthCalendar1.TitleForeColor = System.Drawing.Color.Green;
                        break;
                }
            }
        }
    }
}




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/208679,如需转载请自行联系原作者

目录
相关文章
|
iOS开发
iOS开发UI之日期控件的使用(UIDatePicker)
iOS开发UI之日期控件的使用(UIDatePicker)
441 0
从零开始学Pyqt5之【控件介绍】(16):日历与时间控件QCalendar、QDateTImeEdit
从零开始学Pyqt5之【控件介绍】(16):日历与时间控件QCalendar、QDateTImeEdit
从零开始学Pyqt5之【控件介绍】(16):日历与时间控件QCalendar、QDateTImeEdit
|
C# C++ 数据可视化
WPF Calendar 日历控件 样式自定义
原文:WPF Calendar 日历控件 样式自定义 粗略的在代码上做了些注释 blend 生成出来的模版 有的时候 会生成 跟 vs ui界面不兼容的代码 会导致可视化设计界面 报错崩溃掉 但是确不影响 程序的编译运行 这个样式表 在vs 里会提示动画不兼容 Foreground属性 报错 ...
1778 1
|
Android开发 iOS开发
带农历日历的DatePicker控件!Xamarin控件开发小记
原文:带农历日历的DatePicker控件!Xamarin控件开发小记 闲来无事开发了个日期选择控件,感兴趣的同学前往: https://github.com/MatoApps/Mato.DatePicker Mato.
1735 0
|
C#
分享一个WPF下日历控件(Calendar)的样式
原文:分享一个WPF下日历控件(Calendar)的样式 WPF日历控件的一个样式 WPF自带的日历控件样式可能会比较丑,要修改其样式看起来挺复杂的,实际上很简单,用Blend打开,修改三个模板,基本就能改变全部面貌,也很容易 先上图 样式如下: ...
1659 0
|
前端开发 API Android开发
|
C#
WPF 4 日期选择器(DatePicker)
原文:WPF 4 日期选择器(DatePicker)     前一篇《WPF 4 日历控件(Calendar)》 中我们对日历控件的使用方式有了基本了解,本篇将继续介绍WPF 4 中另一个新控件“日期选择器”(DatePicker)。
1693 0
|
C#
WPF 4 日历控件(Calendar)
原文:WPF 4 日历控件(Calendar)      在之前我已经写过两篇关于WPF 4 任务栏(Taskbar)相关的特性。相信自从VS2010 Beta 版放出后,WPF 的粉丝们肯定在第一时间了解了WPF 4 的一些新控件及新功能。
1214 0
|
C# 前端开发
【C#】wpf自定义calendar日期选择控件的样式
原文:【C#】wpf自定义calendar日期选择控件的样式 首先上图看下样式 原理 总览 ItemsControl内容的生成 实现 界面的实现 后台ViewModel的实现 首先上图,看下样式 原理 1. 总览: Calendar本质上是一个6x7的列表,这个列表可以用ItemsControl来实现。
1122 0