Обратный отчет(Таймер)

Рейтинг: 0Ответов: 1Опубликовано: 16.04.2015
 public partial class Form1 : Form
{
    DateTime date;
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        date = DateTime.Now;
        timer1.Start();            
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        long tick = DateTime.Now.Ticks - date.Ticks;
        DateTime stopWatch = new DateTime();
        stopWatch = stopWatch.AddTicks(tick);
        textBox1.Text = String.Format("{0:HH:mm:ss:ff}",stopWatch);

    }

Данный код считает время от нуля. Помогите пожалуйста сделать обратный отчет.Например сделать константу(минуты),или несколько(часы,минуты,секунды)и производился обратный отчет от данных значений. Да можно легко сделать через обычные условия и декриментировать переменные,хочу сделать именно с помощью DataTime,или других классов (если возможно как-то считать в минус).

Ответы

▲ 2Принят

Так?

private DateTime expiry;
const TimeSpan delay = TimeSpan.FromMinutes(1);

private void button1_Click(object sender, EventArgs e)
{
    expiry = DateTime.Now.Add(delay);
    timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)
{
    TimeSpan remaining = expiry - DateTime.Now;
    textBox1.Text = remaining.ToString();
}