Проблема Visual Studio 2019 в кодах компиляции и процесса (C #) - PullRequest
0 голосов
/ 08 ноября 2019

Я понял, что после обновления Visual Studio 2019 таймеры в C # не работают полностью.

В моем коде ниже, label1 установлен только на 3, и после этого ничего не происходит. Я проверил на наличие проблем и проверил, но не смог найти проблему

private void Form1_Load(object sender, EventArgs e)
{
    Timer1.Start();
}

private void Form1_Enter(object sender, EventArgs e)
{

}

private void Timer1_Tick(object sender, EventArgs e)
{

    if (Timer1.Interval >2000)
    {
        label1.Text = "2";
    }

    if(Timer1.Interval > 3000)
    {
        label1.Text = "3";
    }
    if(Timer1.Interval > 3999)
    {
        label1.Text = "4";
    }

}

1 Ответ

0 голосов
/ 08 ноября 2019

Как указано в ваших комментариях, вы можете сделать это:

private void Timer1_Tick(object sender, EventArgs e)
{
  if ( Timer1.Interval > 3999 )
  {
    label1.Text = "4";
    Timer1.Interval = newValue1;
  }
  else
  if ( Timer1.Interval > 3000 )
  {
    label1.Text = "3";
    Timer1.Interval = newValue2;
  }
  else
  if ( Timer1.Interval > 2000 )
  {
    label1.Text = "2";
    Timer1.Interval = newValue3;
  }
  else
    DoSomething();
}

Я изменил тесты условий, чтобы они были согласованными, и добавил еще несколько для оптимизации и особенно во избежание конфликтов.

Проблема была не в Visual Studio, не в версии 2019 и не в Timer, а в вашем коде и алгоритме, поэтому правила.

Я не уверен в вашей цели, но вы можете адаптировать этот исправленный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...