C 進度條視窗 有取消按按鈕

2021-04-13 21:26:48 字數 3188 閱讀 7138

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.text;

using

system.windows.forms;

namespace

test

if(progressbar1.value > progressbar1.maximum)

progressbar1.value+= step;

label1.text =

"目前完成

:"+ (progressbar1.value * 100 / progressbar1.maximum) +

"%";

.doevents();

return

false;

}

private

void

btn_click(

object

sender,

eventargs

e)

public

myprogress(

intmax,

string

caption,

bool

iscancel)

//最大值和標題

progressform.show();

} public

void

dispose()

} }

} ----------------------------------

//呼叫測試 進度條視窗

private

void

button2_click(

object

sender,

eventargs

e)

}

finally

}

//--------------------------------

按高手的意思修改

backgroundworker,如下

//使用backgroundworker非同步進度條

using

system;

using

system.collections.generic;

using

system.text;

using

system.componentmodel;

//backgroundworker所在的

using

system.windows.forms;

namespace

test

}public

void

onprocesscompleted(

object

sender,

eventargs

e)

public

void

onprogresschanged(

object

sender, progresschangedeventargs e)

private

void

worker_runworkercompleted(

object

sender, runworkercompletedeventargs e)

else if (e.error != null)

else

*/

}private

void

form

_formclosing(

object

sender, formclosingeventargs e)

//處理視窗直接關閉事件

}//把事件傳進入

private

void

setbackgroundworker(doworkeventhandler dowork, progresschangedeventhandler worker_progresschanged)

public

mynewprogress(

intmax,

string

caption,

bool

iscancel, doworkeventhandler dowork, progresschangedeventhandler worker_progresschanged)

//最大值和標題

progressform.formclosing +=

newsystem.windows.forms.formclosingeventhandler(

this

.form

_formclosing);

progressform.show();

setbackgroundworker(dowork, worker_progresschanged);

}

public

void

dispose()}}

}//測試方法,放乙個按鈕button和標籤label1

private

void

worker_dowork(

object

sender, doworkeventargs e)

private

void

donothing(backgroundworker worker, doworkeventargs e)

else

}}

private

void

worker_progresschanged(

object

sender, progresschangedeventargs e)

private

void

button1_click(

object

sender,

eventargs

e)

視窗進度條及其高階使用

我們大概實現的效果就像youtube上面的紅色進度條那樣。但是youtube上面那個進度條還是很坑爹的。文章後面再告訴你們為什麼。視窗的滾動條非常的簡單,只要用window.onscroll事件的監聽,就可以實現。當然我最近在研究vue.js,所以用vue.js實現了乙個。反正都差不多吧,這個沒什麼...

c 模態進度條

發表 靈雨飄零 閱讀 245次 關鍵字 不詳 字型 大 中 小 最近看了好多人問這方面的問題,以前我也寫過一篇blog,裡面說了如何在子執行緒中控制進度條。但目前大多數環境,需要彈出模式視窗,來顯示進度條,那麼只需要在原先的基礎上稍作修改即可。首先是進度條窗體,需要在上面新增進度條,然後去掉cont...

C 進度條實現

namespace progress namespace progress public mainfrm private void button1 click object sender,eventargs e private void handlethread 執行緒處理函式,實現耗時任務 cla...