0

Есть 2 кнопки в dataGridView, старт и стоп, и данные которые отсылаются в метод, как запустить несколько методов с разными данными я разобрался, тут ничего сложного, но вот как останавливать их отдельно, по нажатию кнопки стоп не знаю, или все останавливаются или ни один. Помогите как это реализовать, желательно примерный код так как только недавно стал изучать c#.

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            //Кнопка старт
            if (e.ColumnIndex == 3 && e.RowIndex < DataHolder.students.Count)
            {
                try
                {
                    TimerTest(e);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            //Кнопка стоп
            else if (e.ColumnIndex == 4 && e.RowIndex < DataHolder.students.Count)
            {
                try
                {
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }

private void TimerTest(DataGridViewCellEventArgs e) { int i = 0; while (!s) { dataGridView1[2, e.RowIndex].Value = i; await Task.Delay(1000); i++; }

    }      

  • для начала, у вас тут только 1 поток - UI, его не надо останавливать. Чтобы ваш асинхронный цикл остановить, используйте CancellationToken – tym32167 Feb 23 '22 at 15:00
  • Как остановить один если запустил несколько одинаковых циклов ? – user486291 Feb 23 '22 at 16:12
  • используйте несколько CancellationToken'ов... – return Feb 23 '22 at 16:26
  • а если копий цикла 100 и больше ? – user486291 Feb 23 '22 at 17:38
  • 1
    100 и больше CancellationToken'ов – tym32167 Feb 23 '22 at 17:44
  • циклы создает человек, по идеи их должно быть неограниченное количество, и на каждый токен делать ? как то можно динамически создавать токен для созданного цикла ? – user486291 Feb 23 '22 at 20:15
  • ну вы циклы создаете динамически, значит и токены можно создавать динамически. Мне каежтся, у вас больше проблема в том, что вы делаете, а не как вы делаете. – tym32167 Feb 23 '22 at 21:42

0 Answers0