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
对象。必要时创建一个新实例