2017-07-08 5 views
-3

J'ai un code qui déclenche une exception et une erreur après une deuxième exécution. Ici, il est:Impossible d'accéder à un objet éliminé

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

    Window.Paint += Window_Paint; 

    Window.Show(); 
} 

Ce code est dans une classe et il jette une exception à "Window.Show();" en disant que:

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

S'il vous plaît suggérer une façon que je peux résoudre ce problème afin que cela ne se reproduise plus.

+7

"un moyen de résoudre ce problème pour que cela ne se reproduise plus": n'utilisez pas l'objet statique "Form". créer une nouvelle instance si nécessaire – ASh

Répondre

0

Le code que vous voulez probablement utiliser est:

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

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

    window.Paint += Window_Paint; 

    window.Show(); 
} 

Cela permettra d'assurer qu'une nouvelle instance de Form est créé chaque fois que Configuration est appelé.