当前位置: 代码迷 >> C# >> 这段代码为什么没效果
  详细解决方案

这段代码为什么没效果

热度:152   发布时间:2016-04-28 08:30:45.0
这段代码为何没效果
代码如下:
Double Sangel, Mangel,Hangel;
        public ClockNew()
        {
            DispatcherTimer timer = new DispatcherTimer();
            timer.Interval = new TimeSpan(0, 0, 0, 0, 50);
            timer.Tick += new EventHandler(timer_Tick);
            timer.Start();
        }
        private void timer_Tick(object sender, EventArgs e)
        {
            if (Sangel > 360) Sangel -= 360;
            if (Mangel > 360) Mangel -= 360;
            if (Hangel > 360) Hangel -= 360;
            Sangel += 1.5;
            if (Sangel % 6 == 0) Mangel += 0.1;
            if (Sangel % 72 == 0) { Hangel += 0.1; MessageBox.Show(Sangel + ""); }
        }
 
问:问什么MessageBox的消息弹不出来。
------解决思路----------------------
检查一下
1、timer是否开启
2、跟踪代码,看看if (Sangel % 72 == 0) { Hangel += 0.1; MessageBox.Show(Sangel + ""); }这一句代码是否执行
3、还有你这个timer是在构造函数里面创建的,timer的间隔很短,有可能from还没有加载完毕,if (Sangel % 72 == 0) { Hangel += 0.1; MessageBox.Show(Sangel + "");就已经执行了
------解决思路----------------------
if ((Sangel % 72) <= double.Epsilon)
你这是在做浮点数比较,怎么可以用==
------解决思路----------------------
单步调试一下吧
  相关解决方案