关闭表单后,PictureBox继续加载

时间:2015-06-03 05:04:34

标签: c# winforms visual-studio-2010 picturebox

我有一个从另一种形式(主要)调用的表单(图像)。 Images表单使用流程布局将自定义用户控件保存在一起。 usercontrol有一个图片框,它使用PictureBox.LoadAsync()方法从URI获取图像。问题是关闭图像表单后网络活动不会停止。

我已尝试处理UserControl.Disposed事件以在图片框上执行PictureBox.CancelAsync(),但无济于事。如果图像表单已关闭,我应该怎么做才能停止加载。

2 个答案:

答案 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事件。