关于多线程的疑问,研究了一天,还是整不对!
假设:界面上有一个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://download.csdn.net/detail/caozhy/4832657
------解决方案--------------------多线程 ~
------解决方案--------------------为什么不做个等待动画?
------解决方案--------------------使用BackGroundWorker组件,参考:http://www.cnblogs.com/artech/archive/2008/07/30/1256144.html
------解决方案--------------------
你搬出这个“褒贬不一”是想说明什么呢?网上对“c#”其实更加地褒贬不一。
------解决方案--------------------自己懒得动手,那么自己是一个初学者最大的敌人。
------解决方案--------------------这个问题的最正规的解决方法就是多线程。其他方法要么解决不了问题,要么就是一个差劲的方法。
------解决方案--------------------
一天都搞不定.说明基础没打好.不仅仅是多线程的问题了.
------解决方案--------------------
帮忙顶顶.顺便问下.lz8月7号就发帖问了..到现在还没解决呀?
------解决方案--------------------