c#mousemove时间好奇怪啊!

写了一段程序,为实现鼠标静止不动一段时间后,程序自动退出,但是目前从代码的运行情况看,mousemove时间一直在执行,但实际上鼠标都没有动,这是为什么?

        private void panel5_MouseMove(object sender, MouseEventArgs e)
        {
            mousestop = DateTime.Now.ToString("HHmmss");
            string hh = mousestop.Substring(0, 2);
            t11 = Convert.ToInt32(hh);
            string mm = mousestop.Substring(2, 2);
            t12 = Convert.ToInt32(mm);
            string ss = mousestop.Substring(4, 2);
            t13 = Convert.ToInt32(ss);
        }

        private void timer5_Tick(object sender, EventArgs e)
        {
            string dangqianshijian = DateTime.Now.ToString("HHmmss");
            string hh = dangqianshijian.Substring(0, 2);
            int t14 = Convert.ToInt32(hh);
            string mm = dangqianshijian.Substring(2, 2);
            int t15 = Convert.ToInt32(mm);
            string ss = dangqianshijian.Substring(4, 2);
            int t16 = Convert.ToInt32(ss);

            int cha = (t14 * 3600 + t15*60+t16) - (t11 * 3600 + t12*60+t13);

            label199.Text = cha.ToString();
            label200.Text = t11.ToString();
            label201.Text = t12.ToString();
            label202.Text = t13.ToString();

            label203.Text = t14.ToString();
            label204.Text = t15.ToString();
            label205.Text = t16.ToString();

            if (cha >= 1000)
            {
                Environment.Exit(0);
            }
        }

取mousemove最后一次move的时间和当前时间比较,奇怪的是只有mouse完全离开这个panel才有效果,mouse一直在这个panel中,即使静止不动,mousemove也在执行!
还有mouse不动时,mousemove中的时间为什么取到的是 0000/00/00?而不是当前时间?