在Windows窗体中,DateTimePicker控件用于选择和显示窗体中具有特定格式的日期/时间。在DateTimePicker控件中,可以使用MaxDate属性设置可以在DateTimePicker中选择的最大日期和时间。此属性的默认值为9998年12月31日上午12点。您可以通过两种不同的方式设置此属性:
1.设计时间:这是在DateTimePicker中设置最大日期和时间的最简单方法,如以下步骤所示:
- 第1步:创建一个Windows窗体,如下图所示:
Visual Studio->文件->新建->项目-> WindowsFormApp
- 步骤2:接下来,将DateTimePicker控件从工具箱拖放到窗体,如下图所示:
- 步骤3:拖放之后,您将转到DateTimePicker的属性,并在DateTimePicker中设置最大日期和时间,如下图所示:
输出:
2.运行时:比上述方法有些棘手。在此方法中,可以借助给定的语法以编程方式在DateTimePicker控件中设置最大日期和时间:
public DateTime MaxDate { get; set; }
如果此属性的值不小于MaxDate值,则将引发ArgumentException;如果此属性的值小于MinDateTime值,则将引发SystemException 。以下步骤显示如何在DateTimePicker中动态设置最大日期和时间:
- 步骤1:使用DateTimePicker类提供的DateTimePicker()构造函数创建DateTimePicker。
// Creating a DateTimePicker DateTimePicker dt = new DateTimePicker();
- 步骤2:创建DateTimePicker之后,设置DateTimePicker类提供的DateTimePicker的MaxDate属性。
// Setting the maximum date and time dt.MaxDate = new DateTime(2500, 12, 20);
- 步骤3:最后,使用以下语句将此DateTimePicker控件添加到表单中:
// Adding this control to the form this.Controls.Add(dt);
例子:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp48 {
public partial class Form1 : Form {
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// Creating and setting the
// properties of the Label
Label lab = new Label();
lab.Location = new Point(183, 162);
lab.Size = new Size(172, 20);
lab.Text = "Select Date and Time";
lab.Font = new Font("Comic Sans MS", 12);
// Adding this control
// to the form
this.Controls.Add(lab);
// Creating and setting the
// properties of the DateTimePicker
DateTimePicker dt = new DateTimePicker();
dt.Location = new Point(360, 162);
dt.Size = new Size(292, 26);
dt.MaxDate = new DateTime(2500, 12, 20);
dt.MinDate = new DateTime(1753, 1, 1);
dt.Format = DateTimePickerFormat.Long;
dt.Name = "MyPicker";
dt.Font = new Font("Comic Sans MS", 12);
dt.Visible = true;
dt.Value = DateTime.Today;
// Adding this control
// to the form
this.Controls.Add(dt);
}
}
}
输出: