C#延遲執(zhí)行方法函數(shù)實例講解
更新時間:2021年03月06日 16:42:33 投稿:newname
這篇文章主要介紹了C#延遲執(zhí)行方法函數(shù)實例講解,這是比較常用的函數(shù),有需要的同學可以研究下
需求分析:
我們在做winform開發(fā)的時候,有時候需要讓程序休眠幾秒鐘,但是如果我們直接使用 Thread.Sleep()函數(shù)的話,頁面UI就會停止響應。怎么樣解決呢,你可以把頁面涉及到表現(xiàn)UI的代碼放到一個單線程處理,也可以采用我面的方法,加一個小函數(shù)就ok了。
if (MessageBox.Show("確定要清理嗎?", "確認", MessageBoxButtons.YesNo) == DialogResult.Yes) { this.labMsg.Text = "正在清理,請稍候..."; ThreadPool.QueueUserWorkItem(state => { //延遲2秒執(zhí)行 Thread.Sleep(2000); BeginInvoke(new Action(() => { //這里是實現(xiàn)某個功能的代碼,返回結(jié)果給UI string result = Clean(); this.labMsg.Text = result; })); }); }
也可以在線程里面休眠,然后再到主線程:
void Sleep() { Thread sub = new Thread(() => { //這里還可以處理些比較耗時的事情 Thread.Sleep(1000);//休眠時間 this.Dispatcher.Invoke(new Action(() => { DoSomeThing();//調(diào)用處理事件 })); }); } //休眠后你要做的事情 void DoSomeThing() { }
到此這篇關于C#延遲執(zhí)行方法函數(shù)實例講解的文章就介紹到這了,更多相關C#延遲執(zhí)行方法函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Unity Shader實現(xiàn)描邊OutLine效果
這篇文章主要為大家詳細介紹了Unity Shader實現(xiàn)描邊OutLine效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-01-01