Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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# 无法访问已释放的对象_C#_Forms_Linqpad - Fatal编程技术网

C# 无法访问已释放的对象

C# 无法访问已释放的对象,c#,forms,linqpad,C#,Forms,Linqpad,我有一段代码,在第二次运行后抛出异常和错误。这是: static Form Window = new Form(); static public void Configuration() { Window.Height = 800; Window.Width = 800; Window.Text = "Homework"; Window.Paint += Window_Paint; Window.Show(); } 此代码位于类内部,它在“Wind

我有一段代码,在第二次运行后抛出异常和错误。这是:

static Form Window = new Form();
static public void Configuration()
{ 
    Window.Height = 800;
    Window.Width = 800;
    Window.Text = "Homework";

    Window.Paint += Window_Paint;

    Window.Show();
}
此代码位于类内部,它在“Window.Show();”处引发异常,表示:

ObjectDisposedException: Cannot access a disposed object.
Object name: 'Form'.

请建议一种方法,我可以修复此问题,这样它就不会再次发生。

您可能想要使用的代码是:

static public void Configuration()
{ 
    var window = new Form();

    window.Height = 800;
    window.Width = 800;
    window.Text = "Homework";

    window.Paint += Window_Paint;

    window.Show();
}

这将确保每次调用
Configuration
时都会创建
Form
的新实例。

“一种解决方法,使其不再发生”:不要使用静态
Form
对象。必要时创建一个新实例