求高手指教 我做了模拟器  下面是关于计时器的一部分代码但是在执行时,相应的却都是按照时间间隔短的那个计时器来的  请问应该怎么解决void CsimulatorsDlg::OnBnClickedRotate()           //正转按钮
{
// TODO: 在此添加控件通知处理程序代码
CString temp1;
m_zhengzhuan.GetWindowText(temp1);
if (temp1=="正转")
{
m_zhengzhuan.SetWindowText("停止");
SetTimer(3,1500,NULL);
SetTimer(2,8,NULL);
}
if (temp1=="停止")
{
m_zhengzhuan.SetWindowText("正转");
KillTimer(2);
KillTimer(3);
}

}
void CsimulatorsDlg::OnTimer(UINT_PTR nIDEvent)
{


//CDialog::OnTimer(nIDEvent);
switch (nIDEvent)
{
case 1:
{
int dangqian,mudi;
CString lastfuck;
m_cur_floor.GetWindowText(lastfuck);
dangqian=atoi(lastfuck);
mudi=atoi(xtshi);
if (dangqian<mudi)
{
dangqian=dangqian+1;
lastfuck.Format("%d",dangqian);
m_cur_floor.SetWindowText(lastfuck);
::WritePrivateProfileString("CURRENT FLOOR","current_floor",lastfuck,url_config);
::WritePrivateProfileString("CURRENT FLOOR","destina_floor",xtshi,url_config);
}
if (dangqian>mudi)
{
dangqian=dangqian-1;
lastfuck.Format("%d",dangqian);
m_cur_floor.SetWindowText(lastfuck);
::WritePrivateProfileString("CURRENT FLOOR","current_floor",lastfuck,url_config);
::WritePrivateProfileString("CURRENT FLOOR","destina_floor",xtshi,url_config);
}
UpdateData(TRUE);

}
case 2:
{
CString str1,str2,str3;
CString now,lenth;
int dangqian,zhuanju,zhouchang;
m_position.GetWindowText(str1);
m_walk_length.GetWindowText(str2);
m_perimeter.GetWindowText(str3);
dangqian=atoi(str1);
zhuanju=atoi(str2);
zhouchang=atoi(str3);
if (dangqian<zhouchang)
{
dangqian=dangqian+1;
zhuanju=zhuanju+1;
now.Format("%d",dangqian);
lenth.Format("%d",zhuanju);
// ::WritePrivateProfileString("POSITION","position",now,url_config);
// ::WritePrivateProfileString("POSITION","length",now,url_config);
m_position.SetWindowText(now);
m_walk_length.SetWindowText(lenth);
}
}
case 3:
{
CString str1,str2,str3;
CString sum1,sum2;
int i,temp1,temp2,temp3;
m_cur_floor.GetWindowText(str1);
m_walk_length.GetWindowText(str2);
m_sum_floor.GetWindowText(str3);
temp1=atoi(str1);
temp2=atoi(str2);
temp3=atoi(str3);
i=1;
if (i<temp1+temp2)
{
if (temp1<temp3+1)
{
temp1=temp1+1;
sum1.Format("%d",temp1);
m_cur_floor.SetWindowText(sum1);
i=i+1;
}
if (temp1==temp3+1)
{
temp1=1;
sum1.Format("%d",temp1);
m_cur_floor.SetWindowText(sum1);
i=i+1;
}
}
}
break;
}}