我有一個C#WinForm應用程序,需要每5分鐘刷新一次。C#Winform自動刷新:每5分鐘
我已經看過Background Worker以及Timer類。
我只是想知道什麼是最好的方式來刷新主窗體,以便用戶更新可以顯示而無需關閉應用程序並重新打開它。
我有一個C#WinForm應用程序,需要每5分鐘刷新一次。C#Winform自動刷新:每5分鐘
我已經看過Background Worker以及Timer類。
我只是想知道什麼是最好的方式來刷新主窗體,以便用戶更新可以顯示而無需關閉應用程序並重新打開它。
即輪詢,您可以使用Timer
控制來做到這一點。
第1步:您需要訂閱Timer Tick
活動。
步驟2:將Timer
的Interval
屬性設置爲300000
毫秒,以便每5分鐘引發一次事件。
第3步:在Tick Event Handler
只是做你想做的事情。
第4步:只要你想停止定時器,你可以調用timer1.Stop()
方法。
注意:如果你不stop
的timer
變得infinite
。 如果你想stop
的timer
你可以叫timer1.Stop();
System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();
timer1.Interval=300000;//5 minutes
timer1.Tick += new System.EventHandler(timer1_Tick);
timer1.Start();
private void timer1_Tick(object sender, EventArgs e)
{
//do whatever you want
RefreshMyForm();
}
private void RefreshMyForm()
{
//update form with latest Data
}
如果我有聊天應用程序,它會是相同的嗎?發送和接收來自登錄到應用程序的用戶的消息。打開聊天室或私人聊天? – user3324364
它會是一樣的,但是你需要關心跨線程操作,如果你能向我們展示一些代碼(如果現在 - 將來不可用)我們會幫助你。 –
'timer1.Interval = TimeSpan.FromMinutes(5);'值得一提的是,* UI線程*中發生了什麼'Windows.Forms.Timer'事件,因此任何* long *刷新操作都會阻塞(freeze,stutter?) UI。 – Sinatr
使用'Timer'類,這是它是什麼意思了。順便說一句,你應該發佈一些你的代碼,所以人們可以幫助**特定的**問題。 – Candide
什麼是*刷新*? – Sinatr