2017-07-08 49 views
-3

2回目の実行後に例外とエラーをスローするコードがあります。ここにあります:破棄されたオブジェクトにアクセスできない

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が呼び出されるたびに作成されていることを確認します。

関連する問題