昨天寫了一個從文章中提取關鍵詞的程序,寫完處理的邏輯后又花了好幾個小時在用戶友好性上。加了幾個PRogressBar,有顯示總進度的、有顯示分布進度的。。因為程序要跑好幾個小時才能執行好,只加個總進度的話感覺不太明顯。一個label,顯示當先操作的具體內容,還有個richtextbox顯示出所有操作哦。。
直接扔代碼咯,接好:
1 this.Invoke(new MethodInvoker(delegate() { label1.Text = "正在處理... "; label1.Refresh(); }));
把它放在backgroundWorker1_DoWork()就能實現后臺進程管理label內容。
在對richtextbox操作是,我起初使用的也是這個代碼,但運行時才發現,richtextbox的光標不會自動下移。所以還要加點代碼:
1 this.Invoke(new MethodInvoker(delegate() {2 richTextBox1.AppendText(text); 3 richTextBox1.SelectionStart = richTextBox1.Text.Length;4 richTextBox1.ScrollToCaret();}));
那個.Refresh()被我省略掉了,但運行效果沒有變化耶~~
附上個效果圖吧:
新聞熱點
疑難解答