none
Riutilizzo di un' istanza di una classe form. RRS feed

  • Discussione generale

  • Ciao,
    ho creato una classe X con inherit della classe form.
    Al avvio dell'applicazione definisco una variabile : public X1 as new X.
    Visualizzo X1 e poi la chiudo.
    Quando tento di riutilizzare X1, il sistema mi dice che non è possibile utilizzarla perché X1 è stata Disposed.

    Esiste una maniera per riutilizzare un' istanza di un form chiuso.

    Grazie.
    venerdì 11 ottobre 2019 13:05

Tutte le risposte

  • Buongiorno signor Genko, 

    Potrebbe postare il codice che crea l'istanza?

    Anche l'errore che le appare quando prova ad utilizzare o riutilizzare questa.

    Grazie


    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    lunedì 14 ottobre 2019 08:09
    Moderatore
  • Salve Yordan,
    la ringrazio ma un utente sul server americano mi ha risposto anticipatamente.
    In ogni caso per poter riutilizzare un istanza di un form è sufficiente creare l'istanza come New form e una volta chiusa, riassegnarla ri allocarla nuovamente come new form.
    In sostanza:

    Dim X as new form.

    X.show
    x.close

    X = new form

    Grazie.

    mercoledì 16 ottobre 2019 09:43
  • ciao Genko,

    quando chiami il metodo Close della form, ne chiami implicitamente anche il Dispose, ecco il motivo per cui ti viene sollevata l'eccezione.

    Ci sono però due casi in cui il Close *non* chiama anche il Dispose, e cioè quando la Form viene visualizzata in modalità modale (ShowDialog) oppure se la Form fa parte di un documento MDI.

    Nei due casi sopra, il Dispose va chiamato esplicitamente.

    giovedì 17 ottobre 2019 06:51