none
求助:Timer在有些时候怎么停不掉? RRS feed

  • 问题

  • 请问下,如果Timer正在运行,我来消息将该Timer停掉,怎么会停不掉,在什么情况下停不掉呢?
    2012年12月14日 2:38

全部回复

  • 还有我在Timer时间到的函数里面进行计数,当计数为10时Timer->Stop();但是还是停不掉,请问原因在哪里?但是如果不是中间打断,正常停的话是可以停的。
    2012年12月14日 2:46
  • Hi,

    理论上不会有这样的情况,不过不太好判断。能把你的代码帖上来吗?


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    2012年12月17日 7:14
    版主
  • 代码很正常的,

    void GamePage::StartSpringTime()
    {
     springtimer = ref new DispatcherTimer;
     springtimer->Tick += ref new Windows::Foundation::EventHandler<Platform::Object^>(this, &GamePage::DispatcherSpringTimer_Tick);
     TimeSpan t;
     t.Duration=2*1000000; //0.1s
     springtimer->Interval = t;
     springtimer->Start();
     SpringImageFlag = 0;

    void GamePage::DispatcherSpringTimer_Tick(Platform::Object^ sender, Platform::Object^ e)
    {

     SpringImageFlag++;
     if(SpringImageFlag == 1)
     {
      SpringFont->Width = 0.2*GridWidth;
      SpringFont->Height = 0.2*GridHeight;
      SpringFont->Visibility = Windows::UI::Xaml::Visibility::Visible;
      SpringImage->Visibility = Windows::UI::Xaml::Visibility::Visible;
      SpringFont->Opacity = 0.2;
      SpringImage->Opacity = 0.2;

     }
     else if(SpringImageFlag == 2)
     {

     springtimer->Stop();

    }

    else

    {

    }

    }


    • 已编辑 JJ李锋 2012年12月21日 6:42
    2012年12月21日 6:41