【C# 開發技巧】 Application.DoEvents( ) 使用筆記
阿新 • • 發佈:2018-11-12
該方法可以處理當前佇列的訊息,比如一個for迴圈 5000次 向TextBox中追加文字,那肯定會假死一會兒的。
此時便可使用Application.DoEvents()來處理佇列的資訊。
簡單說下使用Application.DoEvents() 和 不使用Application.DoEvents() 的區別:
不使用Application.DoEvents():
迴圈5000次的話,介面會假死一會兒,然後等待for迴圈完全結束後然後顯示介面。
使用Application.DoEvents():
那麼在for迴圈中加入這句話,介面訊息就會及時的得到更新(既不會假死);
------------------
還是用程式碼來說明比較簡單一點,下面是完整程式碼:
namespace UpdateFor { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { WriteText(); }/// <summary> /// 寫入資料 /// </summary> private void WriteText() { for (int i = 0; i < 10000; i++) { textBox1.Text += "a"; Application.DoEvents(); } } } }
然而,該函式在使用時嚴重耗費系統資源,若介面更新不頻繁,可使用。更新頻繁,請另行考慮。