日期:2014-05-18  浏览次数:20982 次

datetimepicker 取值问题(在线等)
一个比较郁闷的问题:我用datetimepicker控件,只显示时间,format设为time,显示是没有问题的,如12:10:10; 
问题是我用键盘输入去改变它的值,如输入:12:10:1,如果焦点没有离开datetimepicker控件,我就去点一个按钮,
想让我输入的值显示出来,可是显示的值还是:12:10:10;就是得不到我输入的值:12:10:1; 好像datetimepicker控件
不能结束编辑状态,必须去点别的地方,再去点按钮才可以得到我输入的值?是什么原因?请大家分析一下,谢谢

------解决方案--------------------
我刚才试验了一下,没有出现楼主的问题
我设想是这样的
(1)你修改了dateTimePicker1的值,此时dateTimePicker1还有焦点
(2)你点击了别的控件,此时dateTimePicker1应该失去焦点。
(3)dateTimePicker1在Leave()事件中会更新dateTimePicker1.Text

如果楼主出现这种情况,不如直接在dateTimePicker的Leave事件中强制赋值看看
------解决方案--------------------
dateTimePicker的Text应该就是你修改后的值,至于Value属性的改变就可能会出现延迟。
------解决方案--------------------
private void button1_Click(object sender, EventArgs e)
{
this.textBox1.Text = this.dateTimePicker1.Value.ToString("HH:mm:ss");
}

没有问题啊,ToString()方法中的格式可以自行设置!