這當前日期和時間,但我希望有時間動態變化的類似系統時間:動態更改日期
DateTime t = DateTime.Now;
toolStripStatusLabel.Text = "Current Date:" + " " + t.ToString("MMMM dddd dd, yyyy")+" " +"current Time:" +" " +t.ToString("hh:mm ss tt");
這當前日期和時間,但我希望有時間動態變化的類似系統時間:動態更改日期
DateTime t = DateTime.Now;
toolStripStatusLabel.Text = "Current Date:" + " " + t.ToString("MMMM dddd dd, yyyy")+" " +"current Time:" +" " +t.ToString("hh:mm ss tt");
在您的winform,加定時器控制和標籤控制。
在Form Load事件添加代碼
yourTimer.Start();
定時器控制的屬性表,更改Interval屬性到1000
添加計時器滴答事件
private void yourTimer_Tick(object sender, EventArgs e)
{
yourLabel.Text = DateTime.Now.ToString("dd MMM yyyy hh:mm:ss");
}
我的猜測是您希望ToolStripStatusLabel文本隨時間而改變。爲此,您需要定時器回調。添加一個定時器到你的表單和它的Elapsed處理程序中,將文本設置爲當前時間,就像你已經在做的那樣。
只是一些更多的信息
在您的代碼:
DateTime t = DateTime.Now;
toolStripStatusLabel.Text = "Current Date:" + " "
+ t.ToString("MMMM dddd dd, yyyy")
+ " " + "current Time:"
+ " " + t.ToString("hh:mm ss tt");
當前日期只計算一次。 也就是說,DateTime t = DateTime.Now將當前日期存儲在t中,並且此值不會再次更新。
所以,即使你用「T」一百倍,它總是有一個分配給它的價值。
像astander指出的那樣,你需要更新它的每一秒左右。
一個建議:
而不是使用 「somestring」 + 「someotherstring」 的+ 「yetanotherstring」 你應該 使用的String.Format來代替。例如(基於旁觀者的代碼)
private void yourTimer_Tick(object sender, EventArgs e)
{
yourLabel.Text = String.Format("Current Date: {0}",
DateTime.Now.ToString("dd MMM yyyy hh:mm:ss"));
}
沒有選定答案!!! – viky 2009-12-23 06:24:05