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