读书人

怎么小弟我行的程在中可

发布时间: 2012-03-22 17:43:57 作者: rapoo

如何我行的程在中可以用命令它停止行它。
其要我的窗口在程序行是可操作的就可以了。
除了委托的法,有其它的法?

[解决办法]
事件
循环中加判断~
[解决办法]
在你的循环中加上 Application.DoEvents(); 这句
[解决办法]
这种情况就应该用线程了,一个线程处理你的函数,你就可以动UI了。
ThreadStart s= new ThreadStart(select2);
t= new Thread(s);
t.IsBackground = true;
t.Start();

至于暂停,可以类似:
private void BtnSuspend_Click(object sender, System.EventArgs e)
{
if ((t.ThreadState & (ThreadState.Stopped | ThreadState.Unstarted)) == 0)
{
BtnSuspend.Text = "暂停中…… ";
BtnSuspend.Enabled = false;
button1.Text = " 继 续 ";
t.Suspend();
}


}

[解决办法]
同意楼上看法。应该用单独的线程处理UI,单独线程处理任务,主线程负责调度。UI收到信息,则发动事件,主线程捕捉事件,启动其他线程处理。
[解决办法]
是的,用Thread线程操作,或者用异步方法调用BeginXXX,EndXXX
[解决办法]
把程序操作弄为线程操作
LZ可以看下以下的参考,我写线程时候就是用这方法

http://msdn2.microsoft.com/zh-cn/library/system.componentmodel.backgroundworker(VS.80).aspx
[解决办法]
使用多线程吧

.Net 2.0 的C# , 有个backgroundWorker对象,可以比较方便的实现工作线程,没接触过多线程的可以从它入手慢慢学习。

读书人网 >C#

热点推荐