c# - 关闭窗体后 PictureBox 继续加载

标签 c# winforms visual-studio-2010 picturebox

我有一个从另一个表单(主)调用的表单(图像)。图像表单使用将自定义用户控件组合在一起的流布局。用户控件有一个图片框,它使用 PictureBox.LoadAsync() 方法从 URI 获取图像。问题是关闭图像表单后网络事件不会停止。

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

最佳答案

这可能不是最聪明的解决方案,但这对我有用:

从 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

关于c# - 关闭窗体后 PictureBox 继续加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30611218/

相关文章:

c# - 如何使用dotnet(.NET Core)打包包含sql项目的sln文件?

c# - 导入命名空间并使用它们的层次结构

c# - WinRT 在哪里存储 RSA 私钥

winforms - 如何将图像嵌入到Outlook HTML电子邮件中?

c++ - 如何为这个 C++ Windows 项目创建 "make.bat"?

c# - 这个 ConcurrentDictionary 线程安全吗?

vb.net - 填写具有多个数据字段的表单的正确方法是什么?

c# - 使用 AsyncTask 下载文件并在进度条中显示进度

visual-studio-2010 - visual studio 2010 中的 Metro 风格应用程序?

c# - DatagridView C# 中的额外列