2017-07-08 110 views
-3

我有一段代码,对于第二次运行后抛出异常和故障。在这里它是:无法访问已释放的对象

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'. 

请建议一种方法,我可以解决这个问题,使它不会再发生。

+7

“一种解决这个问题的方法,以防止它再次发生”:不要使用静态的'Form'对象。必要时创建一个新实例 – ASh

回答

0

你可能想使用的代码是:

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

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

    window.Paint += Window_Paint; 

    window.Show(); 
} 

这将确保Form一个新的实例被创建每次Configuration被调用时。