如何使用C#设置datetimepicker值的验证

时间:2018-02-01 07:21:29

标签: c#

我有两个datetimepicker控件,datetimepicker1datetimepicker2。 我已在24-02-2018中选择了日期datetimepicker1,因此请告诉我如何设置datetimepicker2的最大值,该值不应超过datetimepicker1值。

Datetimepicker2日期应始终少于而不是datetimepicker1值。

我尝试过:

dateTimePicker2.MaxDate = dateTimePicker1.Value;

1 个答案:

答案 0 :(得分:0)

每次MaxDate Value更改时,您都必须设置dateTimePicker1

您必须收听ValueChanged - 事件

private void InitializeComponent()
{
    // Some code
    this.dateTimePicker1.ValueChanged += new System.EventHandler(this.dateTimePicker1_ValueChanged);
    // some code
}


private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
    if (this.dateTimePicker2.Value > this.dateTimePicker1.Value)
    {
        this.dateTimePicker2.MaxDate = this.dateTimePicker1.Value;
    }
}

您应该让Visual Studio为您完成工作:在表单中选择dateTimePicket1。选择事件(属性框中的小闪电)搜索ValueChanged - 事件。双击名称以添加在事件上运行的方法。在那里添加最大日期代码。

解释:如果你设置this.dateTimePicket2.Maxdate = this.dateTimePicker1.Value,它将是你的价值的副本。如果Value的{​​{1}}稍后更改,则dateTimePicker1仍将保持不变。你必须重新设置它。