时间如何增加?

发布于 2024-12-11 06:15:04 字数 101 浏览 0 评论 0原文

我正在创建一个秒表类型的应用程序。我用标签来显示时间。当应用程序启动时,标签被初始化为“00:00:00”,我想每 1 秒增加其时间。

我正在尝试使用计时器来完成这项工作。

I am creating a stopwatch type application. I've used a label to display time. When application starts, the label is initialized to '00:00:00' and I want to increment its time by every 1 second.

I am trying to accomplish this job by using timer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

今天小雨转甜 2024-12-18 06:15:04

在你的定时器中获取系统时间,所以你的定时器必须具有非常小的间隔,例如 200ms。要计算您的时间,只需计算 currentTime - startTIme(以秒为单位)。

In your timer get the system time so your timer must be with very small interval like 200ms. To calculate your time just calculate the currentTime - startTIme in seconds.

围归者 2024-12-18 06:15:04

如果我的理解正确的话,它肯定会起作用。将初始标签文本设置为“00:00:00”。将计时器间隔设置为 1000。

private void btnStartWatch_Click(object sender, EventArgs e)
{
    timer1.Enabled = true;
}

private void btnPauseWatch_Click(object sender, EventArgs e)
{
    timer1.Enabled = false;
}

int i = 1;
DateTime dt = new DateTime();
private void timer1_Tick(object sender, EventArgs e)
{
    label1.Text = dt.AddSeconds(i).ToString("HH:mm:ss");
    i++;
}

希望有帮助。

If I am getting you right, it may surely work. Set initial label Text as "00:00:00". Set timer interval as 1000.

private void btnStartWatch_Click(object sender, EventArgs e)
{
    timer1.Enabled = true;
}

private void btnPauseWatch_Click(object sender, EventArgs e)
{
    timer1.Enabled = false;
}

int i = 1;
DateTime dt = new DateTime();
private void timer1_Tick(object sender, EventArgs e)
{
    label1.Text = dt.AddSeconds(i).ToString("HH:mm:ss");
    i++;
}

Hope it helps.

酷炫老祖宗 2024-12-18 06:15:04

您需要 TimeSpan 结构

像这样的东西:

TimeSpan current = new TimeSpan(0);

// In your update loop:

current += TimeSpan.FromSeconds(1);

You want the TimeSpan structure.

Something like:

TimeSpan current = new TimeSpan(0);

// In your update loop:

current += TimeSpan.FromSeconds(1);
記憶穿過時間隧道 2024-12-18 06:15:04

我的一个应用程序上有一个计时器。

private int _seconds;

public string TimeDisplay
{
    get
    {
        TimeSpan ts = new TimeSpan( 0, 0, _seconds );
        return string.Format("{0,2:00}:{1,2:00}:{2,2:00}", ts.Minutes, ts.Minutes, ts.Seconds);
    }
}

您所要做的就是让您的 timer_tick 甚至增加 _seconds 和 NotifyPropertyChanged() (如果您绑定到它)。无论哪种方式,TimeDisplay 都会得到您的结果。

I have a timer on one of my apps.

private int _seconds;

public string TimeDisplay
{
    get
    {
        TimeSpan ts = new TimeSpan( 0, 0, _seconds );
        return string.Format("{0,2:00}:{1,2:00}:{2,2:00}", ts.Minutes, ts.Minutes, ts.Seconds);
    }
}

All you have to do is have your timer_tick even increment _seconds and NotifyPropertyChanged() if you're binding to it. Either way, TimeDisplay will have your result.

琉璃梦幻 2024-12-18 06:15:04

我希望理解。

private void Button1_Click(System.Object sender, System.EventArgs e)
{

      Timer1.Interval = 1000;
      Timer1.Start();
}
private void Timer1_Tick(System.Object sender, System.EventArgs e)
{
        this.Label1.Text = DateTime.Now.ToString("hh/mm/ss");

 }

问候

i hope understand.

private void Button1_Click(System.Object sender, System.EventArgs e)
{

      Timer1.Interval = 1000;
      Timer1.Start();
}
private void Timer1_Tick(System.Object sender, System.EventArgs e)
{
        this.Label1.Text = DateTime.Now.ToString("hh/mm/ss");

 }

Regards

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文