2011-05-10 90 views
4

我有一個Windows窗體,必須自動刷新而不使用任何按鈕來刷新窗體。c#刷新窗體

現在我正在使用一個按鈕來刷新窗體。但我需要表格每隔1分鐘自動刷新一次。

它可以在Windows窗體應用程序中做。

+0

參考http://stackoverflow.com/questions/5396282/auto-refresh-in-asp-net-mvc的asp.net或參考http://stackoverflow.com/questions/5371857/wpf-auto-refresh-combobox-content for wpf。如果你想定製你可以使用計時器來觸發自動刷新 – 2011-05-10 05:29:26

回答

4

我不知道爲什麼你需要刷新一個表格,但是把你有的任何代碼放在定時器事件的按鈕後面。您已經擁有代碼,因此只需創建一個計時器,將其設置爲您想要的長度並將其打開即可。

以下是你需要的代碼:

Timer myTimer = new Timer(); 
    myTimer.Elapsed += new ElapsedEventHandler(TimeUp); 
    myTimer.Interval = 1000; 
    myTimer.Start(); 

public static void TimeUp(object source, ElapsedEventArgs e) 
{ 
    //Your code here 
} 
+1

我認爲OP的意思是刷新表單上的一些數據。 – tzup 2011-05-10 05:43:11

+0

不要推薦System.Timers.Timer,因爲它隱藏了錯誤(所有未處理的異常都將被忽略)。 System.Threading.Timer來自MSDN:在.NET Framework 2.0及更早版本中,Timer組件捕獲並抑制事件處理程序爲Elapsed事件拋出的所有異常。此行爲在未來的.NET Framework版本中可能會發生變化。它並沒有說它是否已經改變了。 – Pankaj 2011-05-10 05:44:00

+0

感謝您的回答。因爲這是我的第一個項目,我在哪裏粘貼代碼的前四行。我必須在form.please的構造函數中粘貼幫助我。 – bharathi 2011-05-10 06:10:45

1

使用定時器控件,並將間隔設置爲60 * 1000毫秒(1分鐘),並在刻度事件中使用代碼來刷新表單。

2

您可以將計時器添加到窗體,並啓用它的Form_Load。將計時器值以毫秒爲單位設置爲60000.在Timer_Tick函數中,可以放置用於刷新的代碼。

1

使用System.Windows.Forms.Timer

Timer.Tick事件當指定的定時器時間間隔過去並且定時器啓用時發生。您可以使用它來刷新您的表單。使用Timer.Interval屬性指定計時器間隔。你的情況,你需要將其設置到60000:

Timer.Interval = 60000; 

這些都是一些教程吧:

​​

http://www.dotnetperls.com/timer

http://www.c-sharpcorner.com/UploadFile/mahesh/WorkingwithTimerControlinCSharp11302005054911AM/WorkingwithTimerControlinCSharp.aspx

0

做這些作品!分步:

  1. 到窗體
  2. 設定值(間隔)添加一個計時器,1000
  3. 表格雙擊
  4. 類型本作的Form_Load:

    timer1.Start(); //Set your timer name instead of "timer1"

  5. 雙擊計時器並輸入此計時器_tick:

    this.Refresh();