首页 > 编程笔记 > C#笔记 阅读:31

C# DateTimePicker控件用法详解(附带实例)

DateTimePicker 可以翻译为日期时间选择器,图标为:


我们可以利用这个控件选择日期,然后执行更多与日期和时间有关的操作,如设定日历、闹钟或其他操作。


如果没有选择并更改日期,默认显示今天日期。

C# DateTimePicker Value属性

DateTimePicker 控件最重要的属性是 Value,这个属性可以设定日期与时间显示的方式,同时也可以使用这个属性,配合 DateTime 对象属性获得更详细的日期与时间信息,下列是常用的日期与时间信息。
int year = dateTimePicker1.Value.Year;   // 回传年
int month = dateTimePicker1.Value.Month; // 回传月
int day = dateTimePicker1.Value.Day;     // 回传日
int hour = dateTimePicker1.Value.Hour;   // 回传时
int minute = dateTimePicker1.Value.Minute; // 回传分
int second = dateTimePicker1.Value.Second; // 回传秒

【实例 1】创建 DateTimePicker 控件,同时显示年、月、日、时、分和秒。

namespace ch
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            txtYear.Text = dateTimePicker1.Value.Year.ToString();
            txtMonth.Text = dateTimePicker1.Value.Month.ToString();
            txtDay.Text = dateTimePicker1.Value.Day.ToString();
            txtHour.Text = dateTimePicker1.Value.Hour.ToString();
            txtMinute.Text = dateTimePicker1.Value.Minute.ToString();
            txtSecond.Text = dateTimePicker1.Value.Second.ToString();
        }
    }
}
执行结果为:


注意,这个程序只是让读者体会 DateTimePicker 控件的 Value 属性,更好的设计是在重新选择日期时,窗体可以同步更新数据。

C# DateTimePicker Format属性

DateTimePicker 控件有 4 种显示日期和时间的方式:

下列使用短日期和时间格式输出 DateTimePicker 的日期和时间:
// 设置日期时间选择器为短日期格式(例如:2026/6/30)
dateTimePicker1.Format = DateTimePickerFormat.Short;
// 设置日期时间选择器为时间格式(例如:14:30:00)
dateTimePicker1.Format = DateTimePickerFormat.Time;

【实例 2】创建按钮设定 DateTimePicker 控件对日期和时间有不同输出的格式。

namespace ch
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // 设置日期时间选择器为短日期格式
        private void btnShort_Click(object sender, EventArgs e)
        {
            dateTimePicker1.Format = DateTimePickerFormat.Short;
        }

        // 设置日期时间选择器为长日期格式
        private void btnLong_Click(object sender, EventArgs e)
        {
            dateTimePicker1.Format = DateTimePickerFormat.Long;
        }

        // 设置日期时间选择器为时间格式
        private void btnTime_Click(object sender, EventArgs e)
        {
            dateTimePicker1.Format = DateTimePickerFormat.Time;
        }
    }
}
执行结果为:


当将 DateTimePicker 对象的 Format 设为 Custom 后,如下所示:
dateTimePicker1.Format = DateTimePickerFormat.Custom;
就可以使用 CustomerFormat 属性搭配设定日期和时间的显示方式,设定自己的日期和时间格式,下列是同时显示日期与时间的语句:
dateTimePicker1.CustomerFormat = “yyyy年MM月dd日hh时mm分ss秒”;

【实例 3】设计含有日期与时间格式的 DateTimePicker。

namespace ch
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // 设置日期时间选择器为自定义格式
            dateTimePicker1.Format = DateTimePickerFormat.Custom;
            // 设置自定义格式字符串
            dateTimePicker1.CustomFormat = "yyyy年MM月dd日hh时mm分ss秒";
        }
    }
}
执行结果为:

C# DateTimePicker其他常用的属性

下列是 DateTimePicker 其他常用的属性:
1) ShowCheckBox 属性:默认是 false,如果设为 true 可以显示复选框:


2) Checked 属性:当 ShowCheckBox 属性是 true 时,可以由此了解是否勾选了复选框。

3) ShowUpDown 属性:默认是 false,代表读者不可以使用右边的上下按钮图标来选择日期。如果是 true,则可以使用上下按钮来选择日期。


4) MaxDate属性:可以选择日期的最晚时间,默认是 12/31/9998 12 am。

5) MinDate属性:可以选择日期的最早时间,默认是 1/1/1753 00:00:00。

C# DateTimePicker常使用的事件

如果控件的日期和时间改变则会产生 ValueChanged 事件。

【实例 4】重新设计实例 1,当有新选择的日期时,会更新显示。
namespace ch
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // 日期时间选择器值改变时触发
        private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            ShowDate(); // 显示日期信息
        }

        // 显示日期信息的方法
        private void ShowDate()
        {
            txtYear.Text = dateTimePicker1.Value.Year.ToString();
            txtMonth.Text = dateTimePicker1.Value.Month.ToString();
            txtDay.Text = dateTimePicker1.Value.Day.ToString();
            txtHour.Text = dateTimePicker1.Value.Hour.ToString();
            txtMinute.Text = dateTimePicker1.Value.Minute.ToString();
            txtSecond.Text = dateTimePicker1.Value.Second.ToString();
        }

        // 窗体加载时触发
        private void Form1_Load(object sender, EventArgs e)
        {
            ShowDate(); // 显示日期信息
        }
    }
}
执行结果为:


这个程序在加载和重新选择日期时,会更新显示所选日期的信息。

相关文章