Мне интересно, как лучше всего добиться этого в Windows Forms - мне нужно окно, показывающее, сколько времени прошло (1 с 2 с и т. Д.) До 90 секунд во время выполнения кода. У меня сейчас таймер реализован следующим образом, но я думаю, что мне также нужен там секундомер, поскольку таймер блокирует основной поток.
static System.Timers.Timer pXRFTimer = new System.Timers.Timer();
static int _pXRFTimerCounter = 0;
private void ScanpXRF()
{
_pXRFTimerCounter = 0;
pXRFTimer.Enabled = true;
pXRFTimer.Interval = 1000;
pXRFTimer.Elapsed += new ElapsedEventHandler(pXRFTimer_Tick);
pXRFTimer.Start();
//START action to be measured here!
DoSomethingToBeMeasured();
}
private static void pXRFTimer_Tick(Object sender, EventArgs e)
{
_pXRFTimerCounter++;
if (_pXRFTimerCounter >= 90)
{
pXRFTimer.Stop();
}
else
{
//show time elapsed
}
}