c# - 显示计时器结果

标签 c# timer textbox

我已经像这样实例化了一个计时器:

System.Timers.Timer seconds = new System.Timers.Timer();
seconds.Elapsed += new ElapsedEventHandler(seconds_Tick);
seconds.Interval = 1;
seconds.Enabled = true; //start timer 

我已经像这样创建了 tick 事件:

private void seconds_Tick(object sender, EventArgs e)//source
{
    time++;
}//end clock_Tick()

time 是在代码中声明的整型变量。

我尝试像这样显示结果(在一个方法中):

txtProcessTime.Text = TimeSpan.FromSeconds(time).ToString();

这在计时器运行超过一个小时之前效果很好,所以我尝试了:

txtProcessTime.Text = TimeSpan.FromHours(time).ToString();

这显示了一个更不寻常/意外的结果。

我尝试了其他几个,但我想我用错了部分..

我想编写一个计时器,考虑到毫秒、秒和小时,并将结果显示在文本框中。你能帮忙吗?

计时器以 00:00:00 格式显示 TimeSpan.FromHours 问题显示的内容大致如下:7070:xx:xx(我不记得 x 的值是什么)。 TimeSpan.FromSeconds 程序运行超过一个小时后显示:2:xx:xx(我不记得 x 的值是什么)。

格式显示为 mm:ss:milliseconds - 是否在 60 分钟后将分钟转换为单个数字?

最佳答案

这里显然有问题:Intervalmilliseconds 中指定,但您将其设置为 1。然后,您使用 FromSeconds 创建 TimeSpan

因此,如果您想要每秒发生一个事件,请将其设置为:

seconds.Interval = 1000;

如果你仍然想要每毫秒一次,那么改变你的TimeSpan:

txtProcessTime.Text = TimeSpan.FromMilliSeconds(time).ToString()

关于c# - 显示计时器结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16288691/

相关文章:

c# - C#方法中的静态参数

C# .NET MySQL (MariaDB) 不保存数据但返回成功

javascript - 找不到 asp :textbox in Javascript

python - Matplotlib注释:(文本框)与图形标题重叠

ios - NSTimer 倒计时无法正常运行

C# 使用动态文本框/按钮/网格删除行

c# - 如何从 Asp.Net 中的二进制数据加载图像?

c# - C#访问另一个类的方法

java - 如何启动一个定期执行但在固定时间段内执行的计时器

c# - 在 C# 中制作计时器 - 秒到分钟到小时等