DateTimePicker 操作

DateTimePicker manipulation

我正在尝试使用文本更改事件来操纵日期时间选择器的值..

private void txtStay_TextChanged(object sender, EventArgs e)
{
    dateTimePicker2.Text = dateTimePicker2.Value.AddDays(Convert.ToInt32(txtStay.Text)).ToString();
}

但是当我按退格键更改文本框中的值时遇到了问题,它导致了错误。我想要发生的是,当我按下退格键时,它会用文本中的剩余数字更改日期值。

我不确定您的最终目的,但要解决值错误,请在事件中添加以下代码;

        int days=0;
        Int32.TryParse(txtStay.Text, out days);
        dateTimePicker2.Text = dateTimePicker2.Value.AddDays(days);

应该可以。

但您不应参考任何固定日期而不是日期选择器的当前日期来添加日期。

我的意思是,如果您更改文本框中的值,它会继续增加天数..!!

------------编辑---------

要获得正确的日期,请使用它;

    dateTimePicker1.Value = DateTime.Today.AddDays(days);

上面它以当前日期为基准日期,但它喜欢你必须以你的 dateTimepicker1(开始日期) 作为基准日期。