代码如下:
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的消息弹不出来。
解决方案:10分
检查一下
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 + “”);就已经执行了
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 + “”);就已经执行了
解决方案:5分
if ((Sangel % 72) <= double.Epsilon)
你这是在做浮点数比较,怎么可以用==
你这是在做浮点数比较,怎么可以用==
解决方案:5分
单步调试一下吧