簡體   English   中英

在C#中的文本框中顯示運行日期和時間

[英]Display a running date and time in a textbox in C#

我試着在這個網站上搜索顯示日期和時間的方法。 但是這里的所有示例僅顯示靜態日期和時間。 有沒有辦法顯示正在運行的日期和時間,或者我應該說每秒遞增? 它是否涉及每秒更新時間?

使用計時器對象並在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();
}

您可以在表單中添加Timer 將其設置為每秒觸發一次。 在計時器的事件處理程序中,使用當前時間更新文本框。

你的第二個選擇是正確的。

這都是關於使用計時器和使用當前時間更新TextBox

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中獲取運行日期和時間的最簡單方法。

使用間隔為1秒的計時器。 如果您的應用程序是winforms,請使用來自windows.forms命名空間的計時器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代替

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM