pictureBox(WinForms)异步加载的问题

X_Craft 2008-03-26 04:11:29
通过PictureBox的LoadAsync()、CancelAsync()方法和LoadCompleted、LoadProgressChanged事件能够方便的实现图片的异步加载,但使用过程中碰到了一些问题,不知道怎么解决:

如果加载时出错(比如在加载远程图片前拔掉了网线),再次点击加载按钮后会被提示:在Application.Run(new Form1())这一句中产生:TargetInvocationException

如果加载过程中取消(调用CancellAsync()),再次点击加载按钮后被提示:在picBox1.LoadAsync()这一句中产生:ArgumenException异常

(以上两个操作都是在上一次异步加载过程结束即出错,取消或成功以后作的)

晕了,前辈指点一下,谢谢!
...全文
255 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
swellingflash 2008-04-04
  • 打赏
  • 举报
回复
很奇怪的问题,因该是异步(开线程)导致的问题
X_Craft 2008-03-26
  • 打赏
  • 举报
回复
补充:在每次加载之前我都调用了以下语句企图释放原来的图像:

if (picBox1.Image != null)
{
picBox1.Image.Dispose();
picBox1.Image = null;
}

后来发现问题就出在这了,这些语句屏蔽掉,就不会出现上述错误,但应该怎么样正确释放图像呢?

111,120

社区成员

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

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

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