在循环中使用DateTime.AddSeconds命令时,我收到了奇怪的故障。 Label1应该在循环开始之前显示“NewDT”,但由于某种原因,它不会。有趣的是,在循环中添加一个MessageBox时,标签也显示了我想要的内容。DateTime.AddSeconds不会在标签上显示
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Dt As DateTime = Now() 'It shows current datetime
Dim NewDT As DateTime = Now()
NewDT = NewDT.AddSeconds(10) 'It adds 10 seconds too the current datetime.
Label1.Text = NewDT
Do While NewDT.Second > DateTime.Now.Second 'Loops until system time matches NewDT
Loop
MsgBox("done")
End Sub
代码为我没有msgbox正常工作。试试这个'Label1.Text = NewDT.ToString' – 2014-08-31 14:54:19
a)你的循环是比较秒,而不是时间; b)你的循环内没有任何东西。如果您*更改了标签,则循环必须在表单更新之前完成。使用'label1.Refresh'强制更新。 – Plutonix 2014-08-31 14:58:12
得到它的工作。谢谢。那么我只是使用循环来让程序等待,直到时间匹配。我知道这并不理想。有没有更好的解决方案? – 2014-08-31 15:01:52