1. 程式人生 > >【C# 開發技巧】 Application.DoEvents( ) 使用筆記

【C# 開發技巧】 Application.DoEvents( ) 使用筆記

該方法可以處理當前佇列的訊息,比如一個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(); } } } }

然而,該函式在使用時嚴重耗費系統資源,若介面更新不頻繁,可使用。更新頻繁,請另行考慮。