如何通过另一个datetimepicker设置datetimepicker的最大和最小日期

时间:2019-03-27 08:33:43

标签: c# winforms datetimepicker

我只是想知道是否可以编辑日期时间选择器的最大日期和最小日期,如果另一个datetimepicker的值更改了,因为我想做的是,当我为第一个datetimepicker选择一个日期时,它将自动将另一个datetimepicker设置为仅选择接下来的7天。

2 个答案:

答案 0 :(得分:0)

DateTimePicker控件具有一个ValueChanged事件(双击该控件将为您创建事件处理程序方法),只要Value发生更改,就会触发该事件。对于第一个DateTimePicker,在这种情况下,您可以设置第二个控件的MinDateMaxDate属性:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
    dateTimePicker2.MinDate = dateTimePicker1.Value.AddDays(1);
    dateTimePicker2.MaxDate = dateTimePicker1.Value.AddDays(7);
}

完成后,您可以为第一个控件设置默认日期,第二个控件将设置其最小/最大值:

private void Form1_Load(object sender, EventArgs e)
{
    // This will trigger the ValueChanged event when the form loads
    dateTimePicker1.Value = DateTime.Today;
}

答案 1 :(得分:-1)

使用MaxDate和MinDate。

  

控件的MaxDate和MinDate属性确定日期和时间的范围。 Value属性包含控件设置的当前日期和时间。有关详细信息,请参见如何:使用Windows Forms DateTimePicker控件设置和返回日期。这些值可以四种格式显示,这些格式由Format属性设置:Long,Short,Time或Custom。如果选择了自定义格式,则必须将CustomFormat属性设置为适当的字符串。有关详细信息,请参见如何:使用Windows窗体DateTimePicker控件以自定义格式显示日期。

https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/datetimepicker-control-overview-windows-forms