всем ку. Подскажите пожалуйста как правильно организовать установку таймеров, чтоб они понимали в какой строке Грида был установлен таймер. У меня получается есть грид, при нажатии на строку открывается окно с установкой времени, через сколько должен сработать таймер, сейчас я запутался уже с логикой и у меня работает только 1 таймер, но вообще их в гриде должно быть н-количесво + время которое я получил тоже должно понимать для какого времени было установленно.. пока что у меня есть Лист таймеров, но вся проблема в том, что таймеры могут быть в гриде в разброс, и обращаться по timerList[rowNumber] не корректно... Code: public void timerStart(string hour, string min, string sec) { hoursF1 = Convert.ToInt32(hour); minutesF1 = Convert.ToInt32(min); secondsF1 = Convert.ToInt32(sec); DateTime date = DateTime.Now; date = date + new TimeSpan(hoursF1, minutesF1, secondsF1); string finishTime = date.ToLongTimeString(); this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[rowNum].Cells[8].Value = finishTime; this.dataGridView1.Refresh(); System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); timersList.Add(timer); timersList[0].Tick += new EventHandler(timer_Tick); timersList[0].Interval = 1000; timersList[0].Enabled = true; timersList[0].Start(); } private void timer_Tick(object sender, EventArgs e) { if ((minutesF1 == 0) && (hoursF1 == 0) && (secondsF1 == 0)) { timersList[0].Enabled = false; taskUp(rowNum); //call to method MessageBox.Show("secc"); } else { // Else continue counting. if (secondsF1 < 1) { secondsF1 = 59; if (minutesF1 == 0) { minutesF1 = 59; if (hoursF1 != 0) hoursF1 -= 1; } else { minutesF1 -= 1; } } else secondsF1 -= 1; } }