【问题标题】:StopWatch to Show Counter of Elapsed Time?秒表显示经过时间的计数器?
【发布时间】:2015-03-28 14:27:18
【问题描述】:

我的 Windows 窗体上有一个文本框,我想显示我的过程所用的时间,但我没有看到文本框中有任何时间计数。下面是我的代码

public partial class Form1 : System.Windows.Forms.Form
{
  private Stopwatch watch = new Stopwatch()l

  private void btn_RashadSL()
  {
    watch.Start();
    //lots of code here that typically takes around 15 - 20 minutes to complete
  }
  private void timer_Tick(object sender, EventArgs e)
  {
    textbox1.Text = watch.Elapsed.Seconds.ToString();
  }
}

【问题讨论】:

  • 还有一点需要注意的是要小心避免跨线程操作。

标签: c# winforms timer


【解决方案1】:

鉴于您发布的代码,我想说问题是您从来没有设置计时器来实际调用timer_Tick 方法。

【讨论】:

  • 最好在哪个部分调用“timer_Tick”方法,以便每秒更新一次?
  • 当您的表单初始化时,有一个Timer 成员并让它调用该函数。请参阅:msdn.microsoft.com/en-us/library/…(此 Timer 和 Threading.Timer 之间存在差异,但并不真正适用于您的问题)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-15
  • 2016-05-30
  • 1970-01-01
  • 2020-12-22
  • 2012-05-01
  • 1970-01-01
相关资源
最近更新 更多