我有个问题我已经将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");
}
}
2条答案
按热度按时间tquggr8v1#
这里只是猜测,但可能是您的
dela_ValueChanged
函数在重复调用时没有设置KeyUpDown。所以这意味着它重复执行SendKeys.Send("Right")
(假设这将日期向前更改1天?)),直到它到达最后日期,当它试图改变过去的最后日期,它不能,所以它没有改变它的值,从而摆脱循环。prdp8dxp2#
datetimepicker的valuechanged事件中的“Sendkeys.send(“/”)”。