2-14 DataTimePicker控件

简介:

2-14  DataTimePicker控件

u 本节学习目标:
n 了解DataTimePicker控件的属性
n 学习DataTimePicker控件如何显示时间之差

     2-14-1   简介

如果希望应用程序能够使用户可以选择日期和时间,并以指定的格式显示该日期和时间,可以使用  DataTimePicker 控件。 DataTimePicker 控件用于选择日期和时间,与 Monthcalendar 控件不同, DataTimePicker 控件只能够选择一个时间段。一个基本的 DataTimePicker 控件如图 2-44 所示:
2-44  DataTimePicker控件实验布局

     2-14-2   DataTimePicker控件的属性

DataTimePicker 控件主要的属性如表 2-14 所示:
属性
说明
showcheckbox
是否在控件中显示复选框,当复选框为选中时候,表示未选择任何值。
checked
showcheckbox TRUE时候,确定是否选择复选框。
showupdown
改为数字显示框,不再显示月历表。
value
当前的日期(年月日时分秒)
2-14 DataTimePicker控件的属性

     2-14-3    DataTimePicker控件实践操作

1.   案例学习:DataTimePicker控件显示时间之差

1 )从工具箱之中拖放两个 DataTimePicker 控件,若干 Label 标签,如图 2-45 所示进行布局。
2-45  DataTimePicker控件实验布局
2 )具体功能的实现见下面的编码部分:
         ///   <summary>
        /// 初始化事件时候,分别显示选择日期的日期和周以及时间差信息
        /// </summary>
        private void Form008_Load(object sender, EventArgs e)
        {
        label3.Text = "选择日期是本年度第" + dateTimePicker1.Value.DayOfYear.ToString() +"天";
            //学习如何从dateTimePicker控件内获取选择天为一年的第几天。
            label4.Text = "选择日期是本周" + dateTimePicker1.Value.DayOfWeek.ToString();
            //学习如何从dateTimePicker控件内获取选择天为一年的第几周。
            label5.Text = "两个日期之差是:" + Convert.ToString(dateTimePicker2.Value.DayOfYear - dateTimePicker1.Value.DayOfYear) + "天";
            //求两个选择的日期之差
        }
         ///   <summary>
        /// 当dateTimePicker1的时间发生变化时候,执行下面代码
        /// </summary>
        private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            label5.Text = "两个日期之差是:" + Convert.ToString(dateTimePicker2.Value.DayOfYear - dateTimePicker1.Value.DayOfYear) + "天";    //求两个选择的日期之差
        }
         /// <summary>
        /// 当dateTimePicker2的时间发生变化时候,执行下面代码
        /// </summary>
        private void dateTimePicker2_ValueChanged(object sender, EventArgs e)
        {
            label5.Text = "两个日期之差是:" + Convert.ToString(dateTimePicker2.Value.DayOfYear - dateTimePicker1.Value.DayOfYear) + "天";    //求两个选择的日期之差
        }
3 )代码排错。
如果选择的日期都是同一年的不同两天,则通过求某天是一年的第几天,然后求差的方式是可以争取计算出两个日期之差的。但是如果第一天日期为 2009 1 1 ,另一天为 2008 12 31 的话,我们知道其日期差为 1 天,但是通过我们的程序计算就会得出 365 天的错误值。更正代码如下:
private  void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            DateTime d1 = dateTimePicker1.Value;
            DateTime d2 = dateTimePicker2.Value;
            TimeSpan d3 = d2.Subtract(d1);
          //注意:TimeSpan类型表示一个时间间隔类型,Subtract方法可以求出两个事件准确的日期差。
            label5.Text = "两个日期之差是:" + Convert.ToString(d3.TotalDays) + "天";
        }
        private void dateTimePicker2_ValueChanged(object sender, EventArgs e)
        {
            DateTime d1 = dateTimePicker1.Value;
            DateTime d2 = dateTimePicker2.Value;
            TimeSpan d3 = d2.Subtract(d1);
        //注意:TimeSpan类型表示一个时间间隔类型,Subtract方法可以求出两个事件准确的日期差。
            label5.Text = "两个日期之差是:" + Convert.ToString(d3.TotalDays) + "天";
        }



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

目录
相关文章
|
6月前
|
C# Windows
49.c#:StatusStrip 控件
49.c#:StatusStrip 控件
141 1
49.c#:StatusStrip 控件
|
6月前
|
C# Windows
47.c#:menustrip控件
47.c#:menustrip控件
64 1
|
6月前
|
C#
38.c#:RithTextBox控件
38.c#:RithTextBox控件
70 1
NSTextField控件应用详解
NSTextField控件应用详解
463 0
NSTextField控件应用详解
DataTimePicker控件总结
DataTimePicker控件总结
154 0