DateTimePicker控件冻结

时间:2013-03-25 08:54:14

标签: c# datetimepicker

我有问题。我已将DateTimePicker的maxdate值设置为31/12/2030。实时当我点击DateTimePicker的左上角图标时,控件会自行冻结一段时间,然后将页面更改为预览月份,将其自动设置为maxdate值。如果我将最大日期设置为更大的日期(例如31/12/2100),控制将冻结5-6秒。发生了什么事?

PS:我正在研究C#WinForms。

编辑:

DateTimePicker对象名为“dela”。我为这个对象编写的代码是......

private void dela_KeyDown(object sender, KeyEventArgs e)
{
    switch(e.KeyCode)
    {
        case Keys.Up:
            KeyUpDown = true;
            break;
        case Keys.Down:
            KeyUpDown = true;
            break;
     }
}
private void dela_ValueChanged(object sender, EventArgs e)
{
    if (KeyUpDown == false)
    {
        SendKeys.Send("Right");
    }
}

2 个答案:

答案 0 :(得分:1)

只是在这里猜测,但可能是你的dela_ValueChanged函数被重复调用而未设置KeyUpDown。所以这意味着它反复做SendKeys.Send("Right")(假设这会改变日期前一天?),直到它到达最后一个日期,当它试图改变超过最后日期时它不能这样它不会改变它的值,从而走出循环。

答案 1 :(得分:0)

“datekeyspicker的valuechanged事件中的”Sendkeys.send(“/”)“。