求助异常解决方法:未从此类上对应的异步方法中返回 IAsyncResult 对象

gisleilei 2010-05-14 03:40:24
我用托管异步更新Form的UI线程,this.BeginInvoke(),开始都是好的,结果关闭Form的时候,出错:“未从此类上对应的异步方法中返回 IAsyncResult 对象。参数名: asyncResult”。为什么呢?
代码如下:
void m_mylanFileMng_ReturnLanFiles(string[] Files)
{
if (Files.Length == 1 && string.IsNullOrEmpty(Files[0]))
return;
m_arrFileNames = Files;
Thread myThread = new Thread(myThreadFileTreeView);
myThread.Start();
}
private void myThreadDirectoryTreeView()
{
InitMyTreeViewDelegete myDelegte = new InitMyTreeViewDelegete(InitMyTreeView);
IAsyncResult myAsync = this.BeginInvoke(myDelegte, new Object[] { m_arrDirectoryNames });
m_arrIAsync.Add(myAsync);
}

private void SurveyDocsForm_FormClosed(object sender, FormClosedEventArgs e)
{
foreach (IAsyncResult myAsync in m_arrIAsync)
{
this.EndInvoke(myAsync);
}
}
...全文
1241 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
james2222 2010-07-01
  • 打赏
  • 举报
回复
学习,帮顶
捷哥1999 2010-05-14
  • 打赏
  • 举报
回复
你看一下这篇文章,再修改你的程序,你能搞定的:
http://www.cnblogs.com/codingsilence/articles/1241918.html
gisleilei 2010-05-14
  • 打赏
  • 举报
回复
怎么没人回复呢?很难吗?
gisleilei 2010-05-14
  • 打赏
  • 举报
回复
public delegate void InitMyTreeViewDelegete(string[] dirs);
private List<IAsyncResult> m_arrIAsync = new List<IAsyncResult>();

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧