protected override void OnTick() { if (Playing) { int val = (int)m_Elapsed.TotalSeconds + (int)(m_PlayTimer.Delay - m_PlayTimer.TimeUntilTick).TotalSeconds; if (val > tbPos.Maximum) { val = tbPos.Maximum; } else if (val < tbPos.Minimum) { val = tbPos.Minimum; } UpdateTimeText(); tbPos.Value = val; if ((DateTime.UtcNow - m_LastPing) >= TimeSpan.FromMinutes(1)) { ClientCommunication.ForceSendToServer(new PingPacket(0)); m_LastPing = DateTime.UtcNow; } } else { Stop(); } }