Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
倒计时停止计数C#Windows Phone_C#_Windows Phone - Fatal编程技术网

倒计时停止计数C#Windows Phone

倒计时停止计数C#Windows Phone,c#,windows-phone,C#,Windows Phone,除了计时器不停地工作外,一切正常。我离开页面后,计时器一直在计数。我在另一个页面上有代码,可以将它重新路由回这个页面。然后计数变量重置为15并倒计时,但由于计时器基于倒计时计时器,因此整个15秒不会倒计时。我找到了countDownTimer.Stop(),但我不确定该放在哪里。我是windows phone的初学者。我知道这是一个容易的问题,但我想不出来 你可以在主页上覆盖OnNavigatingFrom方法,在这里你可以停止计时器。你可以在主页上覆盖OnNavigatingFrom方法,在这

除了计时器不停地工作外,一切正常。我离开页面后,计时器一直在计数。我在另一个页面上有代码,可以将它重新路由回这个页面。然后计数变量重置为15并倒计时,但由于计时器基于倒计时计时器,因此整个15秒不会倒计时。我找到了countDownTimer.Stop(),但我不确定该放在哪里。我是windows phone的初学者。我知道这是一个容易的问题,但我想不出来

你可以在主页上覆盖OnNavigatingFrom方法,在这里你可以停止计时器。

你可以在主页上覆盖OnNavigatingFrom方法,在这里你可以停止计时器。

我最好删除这个答案,不要刺激这种行为(在任何意义上)。请在将来按预期使用(如果你愿意,只是为了实用;以这种态度,你至少不会从我这里得到任何帮助)。没有什么大问题:计时器的Stop()方法(从逻辑上讲,它必须声明为可以从给定的方法中“看到”;在本例中,在类级别上)一旦计时器不再有用,就必须调用。在OP的代码中,当在“countDownTimerEvent”中输入“if(count==0)”条件时,会发生这种情况。我最好删除这个答案,以免刺激这种行为(在任何意义上)。请在将来按预期使用(如果你愿意,只是为了实用;以这种态度,你至少不会从我这里得到任何帮助)。没有什么大问题:计时器的Stop()方法(从逻辑上讲,它必须声明为可以从给定的方法中“看到”;在本例中,在类级别上)一旦计时器不再有用,就必须调用。在OP的代码中,当在“countDownTimerEvent”中输入“if(count==0)”条件时会发生这种情况
public partial class gamePage : PhoneApplicationPage
{
    DispatcherTimer countDownTimer;
    public gamePage()
    {
        InitializeComponent();
        countDownTimer = new DispatcherTimer();
        countDownTimer.Interval = new TimeSpan(0, 0, 0, 1);
        countDownTimer.Tick += new EventHandler(countDownTimerEvent);
        countDownTimer.Start();



        txtHit.Text = "0";
        txtCountdown.Text = "" + "seconds remaining";
    }

    int buttonCount = 0;
    string stringButtonCount = "";
    Random rnd = new Random();
    int count = 15;


    void countDownTimerEvent(object sender, EventArgs e)
   {
    txtCountdown.Text = count + " Seconds Remaining";


        if (count > 0)
        {
        count--;
        }
        if (count == 0)
        {

            NavigationService.Navigate(new Uri("/highScore.xaml", UriKind.Relative));
            count = 15;
            buttonCount = 0;
            stringButtonCount = "";
        }
   }