winforms DateTimePicker控件冻结

xwbd5t1u  于 2023-06-24  发布在  其他
关注(0)|答案(2)|浏览(127)

我有个问题我已经将DateTimePicker的maxdate值设置为31/12/2030。在实时时,当我点击DateTimePicker的左上角图标时,控件会冻结一段时间,然后它会更改页面以预览月份,日期会自动设置为其最大日期值。如果我将最大日期设置为更大的日期(例如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");
    }
}
tquggr8v

tquggr8v1#

这里只是猜测,但可能是您的dela_ValueChanged函数在重复调用时没有设置KeyUpDown。所以这意味着它重复执行SendKeys.Send("Right")(假设这将日期向前更改1天?)),直到它到达最后日期,当它试图改变过去的最后日期,它不能,所以它没有改变它的值,从而摆脱循环。

prdp8dxp

prdp8dxp2#

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

相关问题