Как Timer остановить? - C#

Узнай цену своей работы

Формулировка задачи:

Программно создаю несколько CheckBox`ов и каждый чекбокс создает новый экземпляр Timer и запускает его. Но как при следующем клике на чекБокс таймеры остановить?
  private List<Control> CheckBox = new List<Control>();
private void Components()
        {
               int x = 20, y = 30;
               for (int i = 0; i < OptionsValue.Count; i++)
                    {
                                CheckBox.Add(new CheckBox());
                                CheckBox[i].Location = new Point(x, y + 6);
                                y += 30;
                                CheckBox[i].Name = i.ToString();
                                CheckBox[i].Text = OptionsValue[i].Remove(0, 0).Remove(OptionsValue[i].IndexOf(":"), (OptionsValue[i].Length - OptionsValue[i].IndexOf(":")));
                                CheckBox[i].AutoSize = true;
                                CheckBox[i].Size = new Size(70, 30);
                                CheckBox[i].Click += ValueCheckBox_Click;
                                Controls.Add(CheckBox[i]);
                    }
        }
 
System.Threading.Timer tim;
 
void ValueCheckBox_Click(object sender, EventArgs e)
        {
                CheckBox b = (CheckBox)sender;
                int bbb = int.Parse(b.Name);
                if (b.Checked)
                {
                    tim = new System.Threading.Timer(delegate { OnCheckBoxClick(bbb); });
                    tim.Change(1000, 2000);
                }
                else
                {
                    tim.Dispose(); // тут если с одним чекБоксом работат, то работает. Если с нескольким то нет.
                }
        }
 
private void OnCheckBoxClick(int bbb)
        {
                 //что то делам.
        }
Прошу помощи. За ране Спасибо

Решение задачи: «Как Timer остановить?»

textual
Листинг программы
MyClass my;
for(int i = 0; i < 100; i++)
   my = new MyClass();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5