WPF & C#: Erweiterte Stoppuhr erstellen - Fehlermeldungen?

Hallo zusammen,

ich codiere gerade im Visual Studio 2019 in WPF mit der Computersprache C# eine Stoppuhr. Diese soll in einer 24-Stunden-Anzeige dargestellt werden, wo ich auch die Uhr stoppen und wieder laufen lassen kann. Das klappt alles.

Bis ich auf dieses Problem gestoßen bin:

Ich soll noch Zwischenzeiten der gelaufenen Zeit darstellen, die rechts in einer ListBox erscheinen sollen. Daneben noch ein Button namens "Zurücksetzen", der die gesamt gelaufene Zeit auf 0 zurücksetzt.

So sollte das Ergebnis aussehen:

swoutput.png (434×296) (sourcecodester.com)

(in dem Fall -> Mark = Zwischenzeit)

Bei mir stellt er es aber nicht so dar.

Dies ist hier mein Quelltext in Visual Studio 2019:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;

namespace Wpf_Stoppuhr
{
  /// <summary>
  /// Interaktionslogik für MainWindow.xaml
  /// </summary>
  public partial class MainWindow : Window
  {
    DispatcherTimer timer = new DispatcherTimer();

    private int zs = 0, sek = 0, min = 0, h = 0;

    private bool pruef = true;

    public MainWindow()
    {
      InitializeComponent();
      timer.Tick += new EventHandler(timer_Tick);
      timer.Interval = new TimeSpan(0, 0, 0, 0, 10);
      L_Ausgabe.Content = "0 : 0 : 0 : 0";
    }

    private void timer_Tick(object sender, EventArgs e)
    {
      zs++;

      if (zs == 10)
      {
        sek++;
        zs = 0;
      }
      else if (sek == 60)
      {
        sek = 0;
        min++;
      }
      else if (min == 60)
      {
        min = 0;
        h++;
      }
      else if (h == 24)
      {
        h = 0;
      }

      L_Ausgabe.Content = h + " : " + min + " : " + sek + " : " + zs;
    }

    private void B_Start_Click(object sender, EventArgs e)
    {
      if (pruef)
      {
        timer.Start();
        B_Start.Content = "Start";
        pruef = false;
      }
      else
      {
        timer.Stop();
        B_Start.Content = "Stopp";
        pruef = true;
      }
    }

    private void B_zwz_Click_1(Object sender, EventArgs e)
    {
      ListBox1.Items.Add(L_Ausgabe.Content);
    }

    private void B_zurueck_Click(Object sender, EventArgs e)
    {
      L_Ausgabe.Content = " 0: 0 :0 : 0 ";
      ListBox1.Items.Clear();
      timer.Stop();
    }
  }
}
  • B_Start = Start Knopf
  • ListBox1 = die Listbox
  • L_Ausgabe = Label für die Zeit
  • B_zurueck = Button fürs zurücksetzen
  • B_zwz = Button für die Zwischenzeit

Ich wäre sehr dankbar für eine Lösung. :)

Mit freundlichen Grüßen

Cynix

Computer, Schule, Sprache, programmieren, Windows Presentation Foundation
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.