【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();
            }
        }
    }
}

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM