Подскажите, как заставить таймер DispatcherTimer идти в обратную сторону?
public TestTimer()
{
Timer = new DispatcherTimer();
Timer.Interval = new TimeSpan(0, 0, 1);
Timer.Tick += TimerTick;
StartTimer();
}
private DispatcherTimer Timer;
private int _seconds;
public int Seconds
{
get { return _seconds; }
set
{
if(value > -1 && value < 61)
_seconds = value;
}
}
private int _minutes;
public int Minutes
{
get { return _minutes; }
set
{
if (value > -1 && value < 61)
_minutes = value;
}
}
private int _hours;
public int Hours
{
get { return _hours; }
set
{
if (value > -1 && value < 25)
_hours = value;
}
}
public void StartTimer()
{
Timer.Start();
}
public void StopTimer()
{
Timer.Stop();
}
private void TimerTick(object sender, EventArgs e)
{
if (Seconds > 59)
{
Seconds = 0;
Minutes++;
if (Minutes > 59)
{
Minutes = 0;
Hours++;
if (Hours > 23)
Hours = 0;
}
}
Seconds++;
TimeFormat = string.Format("{0:00}:{1:00}:{2:00}",
Hours, Minutes, Seconds);
}
Возможно вы не все показали, что вам надо, но для того кода, что я вижу, таймер не нужен.
public class TestTimer
{
public TestTimer()
{
StartTimer();
}
public int Seconds
{
get => (DateTime.UtcNow - _startTime).Seconds;
}
public int Minutes
{
get => (DateTime.UtcNow - _startTime).Minutes;
}
public int Hours
{
get => (DateTime.UtcNow - _startTime).Hours;
}
private DateTime _startTime = DateTime.UtcNow;
public void StartTimer()
{
_startTime = DateTime.UtcNow;
}
public string TimeFormat => string.Format("{0:00}:{1:00}:{2:00}", Hours, Minutes, Seconds);
}
Как использовать
var timer = new TestTimer();
timer.StartTimer();
Thread.Sleep(2000);
Console.WriteLine(timer.TimeFormat);
Вывод
00:00:02
Виртуальный выделенный сервер (VDS) становится отличным выбором
когда делаю migrations выдаёт ошибку:
Всем привет, мне нужно сделать лог вставки в базу данных и сохранить этот лог в файлНаведите пожалуйста пример или документацию ибо я не нашел