Ich versuche, ein Recording Time Label einrichten, so dass, wenn ein Benutzer auf eine Schaltfläche klickt es startet und wenn sie auf eine andere Schaltfläche klicken, stoppt es.berechnen Unterschied in Zeiten über Tage C#
Ich habe zwei verschiedene Dinge ausprobiert, die nicht funktioniert haben.
- Einen Ticker setzen und einen Wert um 1 erhöhen und anzeigen.
Das hat nicht funktioniert, wie ich auch andere Dinge in dem Ticker tue, was bedeutet, es 1,5 Sekunden dauern kann, aber ich bin Zuwachs von 1, also je länger die Aufzeichnung auf der mehr geht inaccruate es ist.
- gibt es die TimeOfDay, wenn der Strom beginnt und auf der Ticker-Methode, um die TimeOfDay bekommt und sie abgezogen wird.
Das funktioniert nicht, weil, wenn die Aufnahme schaltet sich die Zeit über Nacht in minusen -67.647,74 Sekunden d.h.
private void StreamClick_Click(object obj)
{
_streamStartTime = DateTime.Now.TimeOfDay;
}
private void LiveVideoStream_Tick(VideoCaptureDevice cam)
{
_currentRecordTime = DateTime.Now.TimeOfDay - _streamStartTime;
RecordTime = _currentRecordTime.ToString();
}
Hat jemand irgendwelche anderen Ideen, wie ich einen schönen Timer anzeigen kann.
Verlassen Sie sich nicht nur auf die Zeit, sondern subtrahieren Sie die gesamten DateTimes voneinander. – CodeCaster
'_streamStartTime' sollte auch eine' DateTime' sein, dann weisen Sie sie mit 'DateTime.Now' zu, wenn Sie auf klicken. minus die zwei Werte, du hast 'TimeSpan', benutze' TimeSpan' – Ian