2017-07-08 78 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被調用時。

相關問題