2011-03-16 123 views
5

當我使用睡眠定時器關閉窗口時,文本「lblDate.Content」消失。我如何讓文字顯示?顯示窗口/文本的其餘部分。我打開其他方式來自動關閉一個窗口。帶有睡眠但文本消失的c#autoclose窗口

public void DisplayErrorMessage(string message) 
{ 
    // Error Message TextBox 
     textBox1.Text = message; 
     Show(); 

    // Show date and logged message 
     lblDate.Content = "This error has been logged and an administrator contacted: " + DateTime.Now; 

    // Auto close window 
     System.Threading.Thread.Sleep(3000); 
     this.Close(); 
} 

回答

2

也許Application.DoEvents()更新您的控件的繪圖可以幫助嗎?

+0

謝謝,我會檢查出來。 – rd42 2011-03-16 15:27:36

+0

這樣做=> System.Windows.Forms.Application.DoEvents(); System.Threading.Thread.Sleep(3000); this.Close(); – rd42 2011-03-16 15:32:02

3

睡眠不是一個計時器。這是一條命令,告訴線程停止處理(阻塞線程)一段時間。在這種情況下,您正在阻止應用程序線程。如果你的目的是在關閉它之前讓窗口保持打開狀態3秒鐘,你可能需要檢查Timer類。