日期:2014-05-17  浏览次数:20899 次

奇怪的dateTimePicker
给控件 加个事件
 private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
 {
MessageBox.Show(dateTimePicker1.Value.ToString());
 }

然后 点击选择时间  的左右 箭头 会 不停的 弹出 消息框
 求解?
------解决方案--------------------
有人试过吗?
------解决方案--------------------
(⊙o⊙)哦,OMG,差点被你害惨了,我试了,就像那种恶意网页一样,不停地弹出。

这是因为,你选择的事件是ValueChange,也就是说,只要时间的值有变动,就是执行你的:

MessageBox.Show(dateTimePicker1.Value.ToString()); 即弹出窗口,显示时间。

dateTimePicker1 每秒的时间都在变,所以会一直执行。

------解决方案--------------------
不是 只点了 一次 吗? 值也只应该  变化 一次撒
------解决方案--------------------
引用:
(⊙o⊙)哦,OMG,差点被你害惨了,我试了,就像那种恶意网页一样,不停地弹出。

这是因为,你选择的事件是ValueChange,也就是说,只要时间的值有变动,就是执行你的:

MessageBox.Show(dateTimePicker1.Value.ToString()); 即弹出窗口,显示时间。

dateTimePicker1 每秒的时间都在变,所以会一直执行。


如果 里面 不用MessageBox  换成 textBox 的话  就不会出现 这样的情况
------解决方案--------------------
快要沉了
------解决方案--------------------
不是不停地弹啊,点一次弹一次。这个正常啊,点一次时间变了。

环境:vs2010+win7
------解决方案--------------------
你确定 点了 选 时间的 左右箭头?
我是 VS2010+ windowsSP3
------解决方案--------------------
引用:
不是不停地弹啊,点一次弹一次。这个正常啊,点一次时间变了。

环境:vs2010+win7

回家
把系统改成 win7再试试
------解决方案--------------------
原因估计是messagebox关闭的时候焦点回到控件,再次触发了时间。
------解决方案--------------------
引用:
引用:

不是不停地弹啊,点一次弹一次。这个正常啊,点一次时间变了。

环境:vs2010+win7

回家
把系统改成 win7再试试
帮顶。
------解决方案--------------------
学习一下。
------解决方案--------------------
依这种写法,肯定点一次弹出一次啊。事件就是改变值的时候弹出
------解决方案--------------------
引用:
依这种写法,肯定点一次弹出一次啊。事件就是改变值的时候弹出

试过 之后 才 说 哈?OK
------解决方案--------------------
下班回家了
------解决方案--------------------
该回复于2011-05-21 11:00:38被版主删除
------解决方案--------------------
纠结啊,可算找到这个问题了,怎么解决啊????