在WPF窗口中显示正在运行的计时器

KFi*_*eld 3 .net c# wpf timer

我是WPF的新手,我正在开发一个需要在窗口上显示运行计时器的项目.带有计时器的页面显示测试的详细信息,例如ID,测试名称,状态,开始时间,结束时间,blahblahblah ......

我真的希望我可以在页面上有一个计时器,告诉用户测试运行了多长时间.但我没有在工具箱中找到可以显示运行计时器的工具,我甚至不知道如何在页面上放置移动的东西......

你能告诉我如何在页面上添加一个运行计时器吗?

另外,如果可以的话,我希望我的计时器可以从某个特定的时间而不是00:00:00开始.我需要这个的原因是因为用户可以在测试运行一段时间后打开这个页面,并且计时器上显示的经过时间应该是(current_time - start_time)并从这里开始.

如果测试从上午7:00开始,并且用户在上午7:05打开页面并且测试仍在运行,则计时器应从00:05:00开始.

十分感谢大家!希望这个长篇描述不会让你感到无聊:)

Oku*_*ott 9

这是一个非常基本的例子.

using System.Windows.Threading;

namespace BasicTimer
{
    public partial class MainWindow : Window
    {
        DispatcherTimer t;
        DateTime start;
        public MainWindow()
        {
            InitializeComponent();
            t = new DispatcherTimer(new TimeSpan(0, 0, 0, 0, 50), DispatcherPriority.Background,
                t_Tick, Dispatcher.CurrentDispatcher); t.IsEnabled = true;
            start = DateTime.Now;
        }

        private void t_Tick(object sender, EventArgs e)
        {
            TimerDisplay.Text = Convert.ToString(DateTime.Now - start);
        }
Run Code Online (Sandbox Code Playgroud)

MainWindow XAML

<Window x:Class="BasicTimer.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="100" Width="200">
    <Grid>
        <TextBlock x:Name="TimerDisplay" HorizontalAlignment="Left"/>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)