public BaseTimer(TabPage tab, TimerUpdateCallback timerCallback, params Control[] controlsToCopy) { Tab = tab; Tab.SetDrawing(false); Tab.RemoveKeyControls(); TimerCallback = timerCallback; ControlsToCopy = controlsToCopy; }
//################################################################################ #region Timer Event Handlers private void Timer_Update(object sender, TimerUpdateEventArgs args) { if (InvokeRequired) { TimerUpdateCallback callback = Timer_Update; Invoke(callback, this, args); } else { if (args.Overtime.Ticks < 0) { ElapsedTime = args.ElapsedTime; RemainingTime = args.RemainingTime; TimerText.Text = Formatter.FormatTimeSpan(ModeFunction == FunctionMode.Elapsed ? ElapsedTime : RemainingTime); } else //overtime block { OverTime = args.Overtime; CheckOvertime(); TimerText.Text = Formatter.FormatTimeSpan(OverTime); } } }