System.Threading.Thread t=new System.Threading.Thread(new System.Threading.ThreadStart(Funcl));
t.Start();
在函数Funcl中按常规处理进度条就行了.注意Funcl()函数不可以带参数
t.Start();
在函数Funcl中按常规处理进度条就行了.注意Funcl()函数不可以带参数
解决方案 »
- 帮忙修改一下搜索方法(Regex方法)。
- C#如果调用存储过程
- 一组有效日期和一组无效日期,通过什么方法可以得到最终的可用日期
- C#中textbox属性设置问题
- 很有难度的问题~~~~~~~~~~~~关于委托的begininvoke方法
- IM軟件中怎么处理Login、Loading、Main窗体之间的加载
- 如何將DateTimePicker中的日期轉換成完整的字符串??
- 自己写的windows服务的自动注册问题
- 线程执行button_Click()
- Xml序列化时怎么添加文件引用声明
- 对VS.Net中企业级模板的疑问
- 请问:为什么数据库不能更新?(ado.net + sql server 2k)
在Func1执行完以后,ThreadFunc1会通知dialog,dialog进而终止其子线程ThreadProgress,并将进度条剩余的值增加完,在用户看来,进度条的前大半段是逐步增加的,到最后有一小段是飞快第"跑"到底的.
上述方法看上去有些复杂,但可能必须这样,因为在处理进度条时,牵涉到一个dialog自己不知道什么时候要终止的while循环(必须靠ThreadFunc1来通知它终止),而该循环会一直占用CPU时间,这样其他线程就没机会执行了,所以要把它在放入另一线程内.