【问题标题】:C# Time Management ProblemC# 时间管理问题
【发布时间】:2009-08-10 13:57:24
【问题描述】:

我正在尝试编写一个使用计时器、持续时间、开始时间和结束时间的程序。

在这个程序中它有三个屏幕。当我在一个屏幕上单击启动计时器时,其他两个带有计时器的屏幕将自动更新。我目前拥有的是一个运行计时器的屏幕,另外两个屏幕显示 00:00:00,而第一个屏幕仍在运行。我想知道是否有人建议如何将这三个屏幕链接在一起,例如如果一分钟过去了,它将为所有三个屏幕显示 00:01:00 而不仅仅是 00:00:00 、 00:00:00 和00:01:00。

我只需要某种提示或想法,或者我应该查找什么来为自己解决这个问题。

我使用的语言是 C#

【问题讨论】:

  • 您将不得不发布一些来源 - 仅凭此描述很难确定发生了什么。
  • 不太清楚你的意思。您是否拥有三个带有标签的表单,并且它们都将显示相同的内容?

标签: c# time


【解决方案1】:

您应该在计时器类中使用委托。 然后,每个窗口都应处理委托事件并在需要时更新其显示。

例子:

Timer.TimeChange += form1.OnTimeChange;
Timer.TimeChange += form2.OnTimeChange;
Timer.TimeChange += form3.OnTimeChange;

其中 TimeChange 是您的计时器委托,而 OnTimeChange 是表单更新方法。

【讨论】:

    【解决方案2】:

    您需要确保计时器与 GUI 隔离。我建议构建一个计时器类并让它触发窗口将监听的事件(尽管您可能希望将其限制为每隔一段时间触发事件。)MSDN Tutorial on Events

    【讨论】:

      猜你喜欢
      • 2013-08-08
      • 2012-07-23
      • 2011-05-11
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-31
      相关资源
      最近更新 更多