0

我有个问题。我已将 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");
    }
}
4

2 回答 2

1

只是在这里猜测,但可能是您的dela_ValueChanged函数在没有设置 KeyUpDown 的情况下被重复调用。所以这意味着它会重复做SendKeys.Send("Right")(假设这会改变日期前 1 天?)直到它到达最终日期,当它试图改变它不能改变的最终日期时,它不会改变它的值,从而退出循环.

于 2013-03-25T12:42:37.390 回答
0

datetimepicker 的 valuechanged 事件中的 "Sendkeys.send("/")"。

于 2014-01-15T05:23:23.200 回答