Grazie innanzitutto per la rispostaOriginariamente inviato da Jeremy75
Ciao.
O non ho capito il problema .... o l'errore è talmente evidente che sembra quasi assurdo che non te ne sia accorto![]()
Se guardi bene .... ti accorgi che per il dispose del button fai riferimento all'istanza predefinita del form (quella su cui quindi stai lavorando) ed il button sparisce dal form....successivamente crei una nuova istanza del form al quale fai riferimento per puntare la textbox ..... che non sarà mai la stessa del form che hai aperto.
Dovresti, semplicemente, usare lo stesso coidce che usi per il button anche per la textbox.
Quindi:
Facci sapere....codice:MainForm.bottone1.Dispose(); MainForm.textBox1.Dispose();
Ciao
Se usassi MainForm.textBox1.Dispose() farei riferimento ad un oggetto statico, ma che statico non è, per cui il compilatore segnala errore!
Col bottone funziona, perché ovviamente è stato tipizzato come statico, ma con la textbox non funzionerà mai da un'altra classe, in quanto non essendo (la textbox) statica, ha bisogno di essere istanziata nella classe chiamante mediante istanziazione della classe stessa (MainForm)... ho capito ciò che dici: se faccio così, istanzio una nuova MainForm, e quando "disposo" i suoi oggetti, li elimino dalla nuova istanza, e non dal MainForm già esistente. In realtà, non ci avevo pensato, preso dalla foga di provare il C#, mea culpa :P Ma non esistono altri metodi per creare semplicemente una GUI? Sicuramente si, solo che sono veramente un niubbissimo sul .NET![]()
Ad ogni modo... non credo sia normale utilizzare oggetti statici quando non dovrebbero esserlo. Io preferirei creare un gestore della GUI che si occupi della pulizia o dell'aggiunta di oggetti... una sorta di delegate!