我有一个从另一种形式(主要)调用的表单(图像)。 Images表单使用流程布局将自定义用户控件保存在一起。 usercontrol有一个图片框,它使用PictureBox.LoadAsync()
方法从URI获取图像。问题是关闭图像表单后网络活动不会停止。
我已尝试处理UserControl.Disposed
事件以在图片框上执行PictureBox.CancelAsync()
,但无济于事。如果图像表单已关闭,我应该怎么做才能停止加载。
答案 0 :(得分:1)
这可能不是最聪明的解决方案,但这对我有用:
从form_Closing事件中调用此函数:
Private Sub closeformdisposingpictureboxes(f As Form)
For Each c As Control In f.Controls
If TypeOf c Is PictureBox Then
Dim pbox As PictureBox = CType(c, PictureBox)
pbox.Image.Dispose()
End If
Next
f.Close()
f.Dispose()
End Sub
答案 1 :(得分:0)
尝试将“PictureBox.CancelAsync()”添加到表单的Closed事件处理程序中。您无法控制何时触发Disposed事件。