Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WinForms-是否将UserControl.Dispose也放在PictureBox中?_C#_.net_Winforms_User Controls - Fatal编程技术网

C# WinForms-是否将UserControl.Dispose也放在PictureBox中?

C# WinForms-是否将UserControl.Dispose也放在PictureBox中?,c#,.net,winforms,user-controls,C#,.net,Winforms,User Controls,我有一个用户控件,其设计器文件中包含生成的代码: protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } 用户控件包含

我有一个用户控件,其设计器文件中包含生成的代码:

    protected override void Dispose(bool disposing)
    {            
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }
用户控件包含少量带有图像的PictureBox(从磁盘和Resx文件加载)。我应该自己在usercontrol的dispose方法中处理这些图像,还是可以相信正在处理PictureBox组件的“components.dispose()”会处理当前加载到PictureBox中的图像


谢谢

PictureBox不会自动处理加载的图像;如果您还在其他地方使用该图像会怎么样?同样,将
Image
属性设置为其他图像也不会处理原始图像

当然,这是
PictureBox
Dispose
代码:

protected override void Dispose(bool disposing)
{
  if (disposing)
    this.StopAnimate();
  base.Dispose(disposing);
}
如您所见,它不调用
image.Dispose()
(也不调用
StopAnimate
)。您必须自己做这件事(或者让垃圾收集器替您处理)。但是,请确保该图像未在其他任何地方使用