繁体   English   中英

DateTimePicker更改值不会触发更改值事件-Winforms

[英]DateTimePicker changing value doesn't fire value changed event - Winforms

我面对DateTimePicker控件的怪异情况。 我有一个带有短日期格式的DateTimePicker控件。

我通过以下方式在文本框中设置此控件的值:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
    {
      textBox1.Text = dateTimePicker1.Value.ToShortDateString();
    }

现在,当我尝试更改月份(即控件的第一部分)时,如果我输入两位数,则会触发ValueChanged事件,否则不会触发。

例如,假设我尝试输入第6个月,然后在键盘上按6,则这次ValueChanged事件不会触发。 但是,当我按0和6时,它将触发该事件。 如果输入11或12,则会触发ValueChanged事件。 同样适用于日期部分。

简而言之,当我在“日期”或“月份”部分中输入一位数字时,它不会触发ValueChanged事件,但是当我输入两位数字时,它将触发。 有人可以告诉我为什么它会这样吗? 它是DTP的预期行为吗?

即使输入一位数字,也如何触发该事件?

为了保持一致性和简化性,该字段为2位数字,因此应等待输入两者均触发事件。 即使您不知道可能输入十月(0),十一月(1)或十二月(2)的另一位数字时,如果您输入1来表示一月,是否应该触发

我希望您输入6并移开该事件就会触发。

虽然您可以在TextChanged事件上执行某些操作,但是如果您键入一个数字,则该事件应该会被触发,尽管我不确定使用鼠标选择日期时它是否可以正常工作(最好是检查一下,回想一下遇到无法启动的问题)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM