Here is what I think is an ultra-simple app that does what you want. I might have misunderstood you, so this is what I believe you wanted :
- a "Start" button that starts a one second resolution timer.
- a "Stop" button that stops the timer, but does not reset it.
- a "Reset" button that resets the timer but does not stop it.
Once started the timer displays elapsed time in minutes and seconds. If the app goes into the background the timer continues to run and shows total elapsed time when the app comes back to the foreground. If the app is closed and re-opened the timer restarts at the point where the app was closed. Even if these are not quite the actions that you want it should be easy to adapt the app as it is super-simple - most of the subs are single-liners.
I have used a KVS to hold the "in-transit" time and a timer in a service.
Here is the code in Main :
	
	
	
	
	
	
	
	
	
		Public Sub btnStart_Click
    Starter.start
End Sub
Public Sub btnStop_Click
    Starter.stop
End Sub
Public Sub btnReset_Click
    Starter.reset
    lblTimer.Text = "0:00"
End Sub
Public Sub updateTimer(elapsed As Int)
    Dim mins As String = Floor(elapsed / 60)
    Dim secs As String = elapsed Mod 60
    If (secs.Length < 2) Then secs = "0" & secs
    lblTimer.Text = mins & ":" & secs
    kvs.Put("elapsed", elapsed)
End Sub
	 
	
	
		
	
 
Here is the code in the (Starter) service :
	
	
	
	
	
	
	
	
	
		Private Sub tmr_Tick
    elapsed = elapsed + 1
    CallSub2(Main, "updateTimer", elapsed)
End Sub
Public Sub start
    tmr.Enabled = True
End Sub
Public Sub stop
    tmr.Enabled = False
End Sub
Public Sub reset
    elapsed = 0
End Sub
Public Sub restart(seconds As Int)
    tmr.Enabled = True
    elapsed = seconds
End Sub
	 
	
	
		
	
 
Here is the project :