在C#中的文本框中显示运行日期和时间

时间:2012-07-20 07:13:27

标签: c#

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

5 个答案:

答案 0 :(得分:8)

使用timer对象,并在tick事件中显示文本框中的日期 在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();
}

答案 1 :(得分:1)

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

答案 2 :(得分:1)

你的第二个选择是正确的。

所有关于使用计时器并使用当前时间更新 TextBox

答案 3 :(得分:1)

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

UPDATE

这将更新UI,并等待Using System.Threading.Tasks; async void TimeUpdater() { while (true) { TxtTime.Text = DateTime.Now.ToString(); await Task.Delay(1000); } } ,然后再次迭代无限次。也不要因为1 Second而忘记使用方法async。正如我研究过的那样,这是在UI天气WinForms或WPF中获取运行日期和时间的最简单方法。

答案 4 :(得分:0)

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