关闭表单后,PictureBox继续加载

问题描述 投票:2回答:2

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

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

c# winforms visual-studio-2010 picturebox
2个回答
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

0
投票

尝试将'PictureBox.CancelAsync()'添加到窗体的Closed事件处理程序中。您无法控制Disposed事件何时触发。

© www.soinside.com 2019 - 2024. All rights reserved.