代码如下:
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)
你这是在做浮点数比较,怎么可以用==
------解决思路----------------------
单步调试一下吧