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