2

我尝试在这个网站上搜索显示日期和时间的方法。但是这里的所有示例仅显示静态日期和时间。有没有办法显示正在运行的日期和时间,或者我应该说每秒递增一次?它是否涉及每秒更新时间?

4

5 回答 5

11

使用计时器对象,并在刻度事件中在 winforms 使用的文本框中显示日期

System.Windows.Forms.Timer tmr = null;
private void StartTimer()
{
    tmr = new System.Windows.Forms.Timer();
    tmr.Interval = 1000;
    tmr.Tick += new EventHandler(tmr_Tick);
    tmr.Enabled = true;
}

void tmr_Tick(object sender, EventArgs e)
{
    myTextBox.Text = DateTime.Now.ToString();
}
于 2012-07-20T07:15:30.300 回答
1

您可以在表单中添加计时器。将其设置为每秒触发一次。在计时器的事件处理程序中,使用当前时间更新文本框。

于 2012-07-20T07:15:45.357 回答
1

你的第二个选择是对的。

这完全是关于使用计时器并使用当前时间更新TextBox 。

于 2012-07-20T07:15:47.353 回答
1

Task中有一个Delay方法,以毫秒为输入。对我来说,时间更新的代码如下所示,

Using System.Threading.Tasks;    
async void TimeUpdater()
    {
        while (true)
        {
            TxtTime.Text = DateTime.Now.ToString();
            await Task.Delay(1000);
        }
    }

这将更新 UI 并等待1 Second然后再次迭代,无限次。也不要忘记制作方法async,因为await operator. 正如我所研究的,这是在 UI 天气 WinForms 或 WPF 中获取运行日期和时间的最简单方法。

于 2018-06-25T18:17:32.510 回答
0

使用间隔为 1 秒的计时器。如果您的应用程序是 winforms,请使用 windows.forms 命名空间http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.aspx中的计时器,它与 gui 在同一线程中运行,因此它更新 gui 是安全的。您也可以使用 system.threading 命名空间中的计时器,但在这种情况下,您应该通过调用调用方法http://msdn.microsoft.com/en-us/library/ms171728.aspx以线程安全的方式更新控件。如果您的应用是网络应用,请改用 javascript

于 2012-07-20T07:30:05.773 回答