📌  相关文章
📜  如何在C#中的DateTimePicker中设置最大日期?

📅  最后修改于: 2021-05-29 15:02:55             🧑  作者: Mango

在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);
    }
}
}

输出: