【愚公系列】2023年09月 Winform控件专题 DateTimePicker控件详解


前言

Winform控件是Windows Forms中的用户界面元素,它们可以用于创建Windows应用程序的各种视觉和交互组件,例如按钮、标签、文本框、下拉列表框、复选框、单选框、进度条等。开发人员可以使用Winform控件来构建用户界面并响应用户的操作行为,从而创建功能强大的桌面应用程序。

一、DateTimePicker控件详解

DateTimePicker控件是Windows Forms中常用的日期和时间选择控件,允许用户从日历和时间选择器中选择日期和时间。

以下是使用DateTimePicker控件的一些常见操作:

  1. 添加DateTimePicker控件:在Visual Studio中,打开Form设计器并从工具箱中选择DateTimePicker控件,将其拖动到窗体上即可添加控件。

  2. 设置DateTimePicker的格式:DateTimePicker控件提供了多种日期和时间格式,可以通过设置其CustomFormat属性来自定义格式。

  3. 获取DateTimePicker的值:可以使用DateTimePicker控件的Value属性来获取选定的日期和时间。

  4. 设置DateTimePicker的最小值和最大值:可以使用DateTimePicker控件的MinDate和MaxDate属性来设置日期的最小值和最大值。

  5. 处理DateTimePicker的值更改事件:可以使用DateTimePicker控件的ValueChanged事件来响应控件值的更改。

例如,以下代码演示了如何设置DateTimePicker控件的日期和时间格式以及获取其值:

// 设置DateTimePicker控件的自定义格式
dateTimePicker1.CustomFormat = "yyyy年MM月dd日 HH:mm:ss";
dateTimePicker1.Format = DateTimePickerFormat.Custom;

// 获取DateTimePicker控件的值
DateTime selectedDate = dateTimePicker1.Value;
MessageBox.Show("选定的日期和时间为:" + selectedDate.ToString());

1.属性介绍

1.1 checked

DateTimePicker控件的Checked属性用于指示控件是否选中(即是否具有值)。如果Checked属性为True,则控件具有有效值,可以使用Value属性获取该值;如果Checked属性为False,则控件不具有有效值,Value属性将返回DateTime.MinValue。

以下是使用DateTimePicker控件Checked属性的一些常见操作:

  1. 获取DateTimePicker控件的选中状态:可以使用DateTimePicker控件的Checked属性来获取控件的选中状态。

  2. 设置DateTimePicker控件的选中状态:可以使用DateTimePicker控件的Checked属性来设置控件的选中状态。

  3. 处理DateTimePicker控件的CheckedChanged事件:可以使用DateTimePicker控件的CheckedChanged事件来响应控件选中状态的更改。

例如,以下代码演示了如何在选中DateTimePicker控件时设置其值为当前日期和时间,以及在取消选中DateTimePicker控件时清除其值:

// 选中DateTimePicker控件时,设置其值为当前日期和时间
private void dateTimePicker1_CheckedChanged(object sender, EventArgs e)
{
    
    
    if (dateTimePicker1.Checked)
    {
    
    
        dateTimePicker1.Value = DateTime.Now;
    }
}

// 取消选中DateTimePicker控件时,清除其值
private void dateTimePicker1_Validating(object sender, CancelEventArgs e)
{
    
    
    if (!dateTimePicker1.Checked)
    {
    
    
        dateTimePicker1.Value = DateTime.MinValue;
    }
}

1.2 CustomFormat

DateTimePicker控件的CustomFormat属性可以用于自定义日期时间格式显示。它允许你以任何你想要的格式来显示日期或时间。CustomFormat属性接收一个字符串参数,该字符串可以包含以下特定的格式符:

  • d: 表示日期,格式为 MM/dd/yyyy。
  • t: 表示时间,格式为 hh:mm:ss tt。
  • yyyy: 表示四位数的年份。
  • MM: 表示两位数的月份。
  • dd: 表示两位数的日期。
  • hh: 表示12小时制的小时数。
  • HH: 表示24小时制的小时数。
  • mm: 表示分钟数。
  • ss: 表示秒数。
  • tt: 表示“AM”或“PM”。

以下是一个示例代码,将DateTimePicker控件的CustomFormat属性设置为“yyyy/MM/dd”,以显示年/月/日的格式:

dateTimePicker1.CustomFormat = "yyyy/MM/dd";

这样设置之后,控件显示的日期就会以“年/月/日”的格式呈现。你可以根据需要自定义其他日期格式。

1.3 font

可以使用以下代码将DateTimePicker控件的字体属性更改为Arial、12号字体:

dateTimePicker1.Font = new System.Drawing.Font("Arial", 12);

其中,dateTimePicker1是指定的DateTimePicker控件名称。

1.4 ShowUpDown

DateTimePicker控件是Winform中常用的时间选择控件之一,它可以让用户通过选择日历或者下拉列表来选择时间。而ShowUpDown属性可以将DateTimePicker控件改为只显示上下箭头,用户可以通过单击箭头来增加或减少日期或时间。

下面是使用ShowUpDown属性的示例:

  1. 在窗体设计器中,拖拽一个DateTimePicker控件到窗体上。

  2. 打开属性窗口,将ShowUpDown属性设置为True。

  3. 运行程序,单击上下箭头可以增加或减少日期或时间。

示例代码如下:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
    
    
    // 显示当前选中的日期和时间
    MessageBox.Show(dateTimePicker1.Value.ToString());
}

在上述示例中,我们为DateTimePicker控件绑定了ValueChanged事件,当用户更改日期或时间时,会调用该事件。在事件处理程序中,我们可以获取当前选中的日期和时间,并将其显示在消息框中。

1.5 MaxDate和MinDate和value

DateTimePicker控件在Winform窗体中,有三个常用的属性:MaxDate、MinDate和Value。

  1. MaxDate:设置DateTimePicker控件可选择的最大日期。如果用户试图选择大于MaxDate属性值的日期,将不会生效。使用示例:
dateTimePicker1.MaxDate = DateTime.Now; // 设置最大日期为当前日期
  1. MinDate:设置DateTimePicker控件可选择的最小日期。如果用户试图选择小于MinDate属性值的日期,将不会生效。使用示例:
dateTimePicker1.MinDate = new DateTime(1970, 1, 1); // 设置最小日期为1970年1月1日
  1. Value:设置或获取DateTimePicker控件当前选定的日期和时间。使用示例:
dateTimePicker1.Value = DateTime.Now; // 设置当前选定日期为当前日期
DateTime selectedDate = dateTimePicker1.Value; // 获取当前选定日期

2.常用场景

DateTimePicker控件在Winform中有很多常用的场景,以下是几个较为常见的场景:

  1. 日期选择:可以使用DateTimePicker控件来让用户选择一个日期,比如选择生日、开会日期等。

  2. 时间选择:可以使用DateTimePicker控件来让用户选择一个时间,比如选择预约时间、任务截止时间等。

  3. DateTime选择:可以使用DateTimePicker控件来让用户选择一个日期和时间的组合,比如选择某个事件发生的时间等。

  4. 自定义格式化:可以使用DateTimePicker控件来让用户自定义日期和时间的显示格式,以满足不同的需求。

  5. 数据筛选:可以使用DateTimePicker控件来筛选某个日期/时间之间的数据,比如查询某个时间段内的销售记录等。

  6. 日历显示:可以使用DateTimePicker控件来显示一个月份的日历,让用户方便地选择日期。

3.具体案例

以下是一个WinForms中DateTimePicker控件的案例:

假设你需要一个控件来选择预约日期和时间,你可以使用DateTimePicker控件来完成该任务。

  1. 首先,在Visual Studio中创建一个新的WinForms应用程序项目。

  2. 在表单上拖放一个DateTimePicker控件并设置其属性如下:

  • Name: dateTimePicker1
  • Format: Custom
  • CustomFormat: yyyy-MM-dd hh:mm tt
  1. 在表单中添加一个按钮,用于显示用户选择的日期和时间。

  2. 在按钮的Click事件处理程序中添加以下代码:

private void button1_Click(object sender, EventArgs e)
{
    
    
    string selectedDateTime = dateTimePicker1.Value.ToString("yyyy-MM-dd hh:mm tt");
    MessageBox.Show("您选择的日期和时间是:" + selectedDateTime);
}
  1. 运行应用程序并选择日期和时间,然后单击按钮以显示所选日期和时间。

通过以上步骤,你将成功使用DateTimePicker控件来选择日期和时间,并将其显示在消息框中。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/aa2528877987/article/details/132707044