2016-11-16 158 views
-3

我已經編寫了一個C#程序,該程序應循環代碼以刷新DateTime信息並設置要匹配的標籤文本。但是,當我運行它時,表單不顯示。爲什麼會發生這種情況,以及如何讓表單顯示出來?如何在C#窗體中創建無限循環窗體應用程序

這是我的代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Windows.Forms; 

    namespace Clock 
    { 
     static class Program 
     { 
      /// <summary> 
      /// The main entry point for the application. 
      /// </summary> 
      [STAThread] 
      static void Main() 
      { 
       Application.EnableVisualStyles(); 
       Application.SetCompatibleTextRenderingDefault(false); 
       Application.Run(new clock()); 
      } 
     } 
    } 

無視我的凹痕(這可能會或可能不會是正確的,但正確的程序),我在做什麼錯了,我該如何解決?

謝謝!

洛根斯沃維克

+1

最好的方法來調試這可能是把一個破發點就行'Application.Run(新的時鐘())',看看你甚至達到它 – phil652

+2

你的問題不在提供的代碼中。 – series0ne

+1

並在回答標題問題... while(true){...} – series0ne

回答

2

好像你是阻止你的無限循環的UI線程。您可以利用async來避免阻塞您的UI ...只需在您的Form_Load方法中調用此方法即可。 InfiniteLoop();

async void InfiniteLoop() 
{ 
    while(true) 
    { 
     await Task.Delay(100); 
     this.Text = DateTime.Now.ToString(); 
    } 
} 

您也可以考慮使用Timer

相關問題