// Расчет нового положения элементов в текущий момент времени private void timer1_Tick(object sender, EventArgs e) { // Остановить таймер, если анимация завершилась if (trackBar1.Value == trackBar1.Maximum) { trackBar1.Value = trackBar1.Minimum; timer1.Enabled = false; } trackBar1.Value += 1; // Расчет положения элементов сцены в момент времени trackBar1.Value scene.AnimationTick(trackBar1.Value); textBox1.Text = trackBar1.Value.ToString(); // Обновление изображения glControl1.Invalidate(); }