是这样的:
点主界面的一个按钮,会有个下载,比如说下载的方法是DownLoad(),下载是在另一个线程里.
但是下载的方法里还有个事件
DownLoad()
{
.
.//下载的代码
.
Complete(); //事件Complete,用于下载完成后触发另一个方法的,这个方法是UI类里
}
我想问的是,DownLoad()是在另一个线程里执行的,DownLoad()也是在UI类里的,那么事件触发后委托给事件的方法执行是在下载的线程里还是在UI线程里呢?
如果是在下载线程里,那么有没有办法让这个方法在UI线程里执行呢?
急死了.谢谢大家.
点主界面的一个按钮,会有个下载,比如说下载的方法是DownLoad(),下载是在另一个线程里.
但是下载的方法里还有个事件
DownLoad()
{
.
.//下载的代码
.
Complete(); //事件Complete,用于下载完成后触发另一个方法的,这个方法是UI类里
}
我想问的是,DownLoad()是在另一个线程里执行的,DownLoad()也是在UI类里的,那么事件触发后委托给事件的方法执行是在下载的线程里还是在UI线程里呢?
如果是在下载线程里,那么有没有办法让这个方法在UI线程里执行呢?
急死了.谢谢大家.
另外我之所以在另一个线程里加一个事件就是因为那个线程完之后我还要执行一些必须在那个线程完OVER后才能执行的方法,不知道有没有别的办法可以不用事件而使我知道线程结束并执行这些方法?难道得不停的查询线程状态或者用EndInvoke(线程是用BeginInvok())?
请指教...
我的电邮是[email protected]
>>>ManualResetEvent是怎么用的?有没有例子可以搞来看下的?http://www.codeproject.com/csharp/workerthread.asphttp://www.codeproject.com/csharp/eventsthreadsync.asp