日期:2014-05-20  浏览次数:20957 次

时间控件的小问题,有意思!
C# code

        private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            if (dateTimePicker1.Value > dateTimePicker2.Value)
            {
                MessageBox.Show("有问题!");
            }
        }


点dateTimePicker1的月份选择时,当dateTimePicker1.Value > dateTimePicker2.Value时,会不停的出现MessageBox.Show("有问题!");有点诧异,是不是控件的BUG?

------解决方案--------------------
恩 这个控件貌似是有这个bug
如果你是通过鼠标点击改的话,就会出现,如果是键盘好像就不会
应该是由于鼠标点击的话,会弹出下拉框,选择后,会触发控件的paint事件,然后触发change事件的检查,检查出错后又出发了paint事件,然后又出发了change事件,不断循环了
------解决方案--------------------
是不是因为是默认了显示的是当前时间?
因为当前时间总在变 所以VALUE也会CHANGE