Таймер, на мой взгляд, не очень точен, когда он отображает время с его _Tick()
Метод. Я хочу показать истекшее время в минутах/секундах, показывая, сколько времени требуется для завершения процедуры. Я использовал это с таймером, но обнаружил, что его вычисления неверны. Вот почему я хотел спросить, будет ли StopWatch лучше показывать более точно или это отдельный элемент управления, который я должен использовать в целом?StopWatch Or Timer
private int timepassed = 0;
private void buttonFourteen_Click(object sender, DragEventArgs e)
{
timer2.Start();
var backgroundWorker = new BackgroundWorker();
backgroundWorker.DoWork += (s, e) =>
{
//Lengthy Procedure Goes Here
};
backgroundWorker.RunWorkerCompleted += (s, e) =>
{
timer2.Stop();
};
backgroundWorker.RunWorkerAsync();
}
private void timer2_Tick(object sender, EventArgs e)
{
timepassed++;
timedisplay.Text = timepassed.ToString();
}
'показать отрезок времени процедура занимает до complete' вы хотите секундомера. Таймер предназначен для выполнения действия с установленными интервалами. – Jonesopolis
Используйте соответствующий инструмент для того, что вы хотите сделать. «Секундомер» используется для измерения прошедшего времени. «Таймер» используется для планирования. По крайней мере, вы не используете 'DateTime' для измерения, поскольку это также не предназначено для точных интервальных измерений. –
Я бы использовал таймер и сохранил время начала, чтобы вычислить разницу во времени на 'Now-Start'. Секундомер необходим для точности, когда производительность TESTING, а не отображение таймера с точностью до 2-х тактовых точек в лучшем случае. – SimpleVar