问题描述
如下代码,为什么动作条总是没加载满的状态下关闭呢。从代码上看的话它的Value已经是100了。privatevoidFormLoad_Load(objectsender,EventArgse){Threadt=newThread(newThreadStart(Loading));t.Start();}privatevoidLoading(){for(inti=1;i<=20;i++){Thread.Sleep(100);SetProcessBarValue(i*5);}this.Invoke(newMethodInvoker(delegate(){this.Close();}));}privatevoidSetProcessBarValue(intvalue){SetValueCallbackdelega=newSetValueCallback(SetProcessBarValue);this.Invoke(delega,newobject[]{value});}
解决方案
解决方案二:
有一段代码错了privatevoidSetProcessBarValue(intvalue){if(this.progressBar1.InvokeRequired){SetValueCallbackdelega=newSetValueCallback(SetProcessBarValue);this.Invoke(delega,newobject[]{value});}else{this.progressBar1.Value=value;}}
解决方案三:
你是单核处理器?
解决方案四:
是多线程。找到原因了。设置好Step,用PerformStep执行就OK引用2楼的回复:
你是单核处理器?
解决方案五:
但是,做个标记为。当Value值100之后,把这个Value值设置为0,也就是我想动作条能够循环执行。
解决方案六:
ProgressBar.Style=ProgressBarStyle.Marquee
解决方案七:
该回复于2012-05-22 13:33:44被版主删除
解决方案八:
不是这个,这样的话看不到真是的动作条。这个Style还是要Blocks的引用5楼的回复:
ProgressBar.Style=ProgressBarStyle.Marquee