读书人

关于多线程的疑义,研究了一天,还是整不

发布时间: 2013-09-08 15:21:21 作者: rapoo

关于多线程的疑问,研究了一天,还是整不对!
假设:界面上有一个button1,textBox1,progressBar1,checkBox1四个控件,如何达到下面要求:

点击button1按钮,执行一个数据库查询方法,执行时间大约5分钟以上。为了不让界面假死,需要界面同时刷新textBox1,progressBar1两个控件的值:

1、textBox1控件的Text值,每秒从1,2,3开始递增;
2、progressBar1控件,从1 —— 100反复循环,每500毫秒刷新一次,到100后又循环从1开始;

当数据库查询方法结束时(如果用到线程,保留下面显示效果并结束线程):
A、checkBox1控件设置为:this.checkBox1.Checked = false;
B、textBox1控件Text值停下来,不再递增;
C、progressBar1控件this.progressBar1.Maximum = 100;
D、最后提示:MessageBox.Show("数据执行完成!");

实在搞不定了,自己弄要么不能更新textBox1控件的Text值,要么不能同时刷新textBox1,progressBar1两个控件的值,请大家帮忙,最好能有代码!!!

不能用这个方法:Control.CheckForIllegalCrossThreadCalls = false;
一天都搞不定.说明基础没打好.不仅仅是多线程的问题了.
[解决办法]

引用:
真不是懒得动手,研究了一天,http://www.cnblogs.com/hnfxs/p/3192009.html这里也写得很详细,但真正用到自己上面那个需求上时,总是不成功,才发贴求助于大家.

帮忙顶顶.顺便问下.lz8月7号就发帖问了..到现在还没解决呀?
[解决办法]
引用:
上次的处理与这次有一些差异,我也套用过相应的方法,还是没有功能,


我是没有理解到其精髓,所以每次用起这个多线程总是不如意.
我写这个一方面是自学,一方面就是百度或在这里发贴求解决方法,谈不上有什么基础.


看.基础来了.
http://www.java2s.com/Tutorial/CSharp/0470__Windows-Presentation-Foundation/2360__BackgroundWorker.htm
[解决办法]
参考:http://www.cnblogs.com/zhili/category/398603.html

读书人网 >C#

热点推荐