發表: 靈雨飄零
閱讀:245次 關鍵字:不詳 字型:[ 大
中 小]
最近看了好多人問這方面的問題,以前我也寫過一篇blog,裡面說了如何在子執行緒中控制進度條。但目前大多數環境,需要彈出模式視窗,來顯示進度條,那麼只需要在原先的基礎上稍作修改即可。
首先是進度條窗體,需要在上面新增進度條,然後去掉controlbox。除此外,還要增加乙個方法,用來控制進度條的增加幅度,具體如下:
///
/// increase process bar
///
/// the value increased
///
public bool increase( int nvalue )
else
}
return false;
}
接著就是主窗體了,如何進行操作了,首先需要定義兩個私有成員,乙個委託。其中乙個私有成員是儲存當前進度條窗體物件,另乙個是儲存委託方法(即增加進度條尺度),具體如下:
private frmprocessbar myprocessbar = null;
private delegate bool increasehandle( int nvalue );
private increasehandle myincrease = null;
接著要在主窗體中提供函式來開啟進度條窗體,如下:
///
/// open process bar window
///
private void showprocessbar()
那麼現在就可以開始建立執行緒來執行,具體如下:
///
/// sub thread function
///
private void threadfun()
);
blnincreased = (bool)objreturn ;
}
while( blnincreased );
}
注意以上,在開啟進度條窗體和增加進度條進度的時候,乙個用的是begininvoke,乙個是invoke,這裡的區別是begininvoke不需要等待方法執行完畢,而invoke是要等待方法執行完畢。還有一點,此處用返回值來判斷進度條是否到頭了,如果需要有其他的控制,可以類似前面的方法來進行擴充套件。
啟動執行緒,可以如下:
thread thdsub = new thread( new threadstart( threadfun ) );
thdsub.start();
這樣,乙個用模式開啟進度條窗體就做完了。
ios中的模態進度條
但是從ios6開始,uialertview的addsubview方法已經被deprecated了,所以網上很多例子都不行。最後在github上找到了乙個元件customios7alertview,可以實現此需求,在此基礎上包裝了一下,如下 id initwithlabeltext nsstring ...
ios中的模態進度條
但是從ios6開始,uialertview的addsubview方法已經被deprecated了,所以網上很多例子都不行。最後在github上找到了乙個元件customios7alertview,可以實現此需求,在此基礎上包裝了一下,如下 id initwithlabeltext nsstring ...
C 進度條實現
namespace progress namespace progress public mainfrm private void button1 click object sender,eventargs e private void handlethread 執行緒處理函式,實現耗時任務 cla...